US 11,880,644 B1
Inferred event detection and text processing using transparent windows
Oleksiy Shevchenko, Vancouver (CA); Victor Pavlychko, Kyiv (UA); Valentyn Gaidylo, Kyiv (UA); Nikita Volobuiev, Kyiv (UA); Ievgen Rysai, Kyiv (UA); Roman Guliak, New York, NY (US); and Yura Tanskiy, San Francisco, CA (US)
Assigned to Grammarly, Inc., San Francisco, CA (US)
Filed by Grammarly, Inc., San Francisco, CA (US)
Filed on Nov. 12, 2021, as Appl. No. 17/525,727.
Int. Cl. G06F 40/117 (2020.01); G06F 40/166 (2020.01); G06F 16/958 (2019.01); G06F 9/54 (2006.01)
CPC G06F 40/117 (2020.01) [G06F 9/541 (2013.01); G06F 16/986 (2019.01); G06F 40/166 (2020.01)] 11 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
causing executing, at a computer, first programmed instructions formatted to cause subscribing, by an application program executing on the computer, to a plurality of events provided by a first application programming interface;
receiving, from a currently focused element, a digital electronic object comprising a source text;
executing a trained machine learning model on the source text, thereby outputting information specifying one or more types of markup to be applied to one or more character ranges of the source text, wherein the trained machine learning model is structured as a text classifier;
programmatically generating one or more markup objects, the one or more markup objects corresponding to the one or more types of markup to be applied to one or more character ranges of the source text;
receiving, by the application program, a Scroll Start event pushed from the first application programming interface;
responsive to receiving, by the application program, the Scroll Start event, executing second programmed instructions formatted to cause receiving, by the application program, one or more Scroll Wheel events respectively associated with one or more activations of a scroll wheel;
causing executing, at the computer, third programmed instructions formatted to cause processing the one or more Scroll Wheel events to determine a required displacement for the one or more markup objects displayed in a transparent window of a currently focused element, wherein the determined required displacement is only an amount of displacement to position the one or more markup objects within visual bounds; and
causing executing, at the computer, fourth programmed instructions formatted to cause displaying, in the transparent window, the one or more markup objects at one or more respective new screen bounds offset by the determined required displacement.