Drag and drop of objects between applications
First Claim
Patent Images
1. A method comprising:
- receiving, by a processor, a first user input;
responsive to the first user input, selecting, by the processor, an object rendered in a first window of a display by a first application and a rendering API (Application Programming Interface), wherein selecting an object comprises intercepting draw commands from the first application to the rendering API;
extracting, by the processor, the object from the first application via an engine that monitors received user inputs;
receiving, by the processor, a second user input for dragging the object on the display from the first window to a second application rendered in a second window;
responsive to the second user input to drag the object from the first window to the second window;
rendering, by the processor, a borderless window;
rendering, by the processor, a selection in the borderless window by detouring the draw commands intercepted from the first application to the rendering API to the engine, wherein the selection comprises the object selected by the user; and
moving, by the processor, the borderless window comprising the selection across the display from the first window to the second window pursuant to the second user input;
importing, by the processor, in response to the selection in the borderless window crossing a focus border of the second window, the selection in the borderless window into the second application, the importing comprising inserting the intercepted draw commands into a rendering API pipeline operable to instruct the rendering API to render the selection in the second window, the rendering in the second window being in accordance with visual effects of the second application; and
ceasing, by the processor upon importation, intercepting and detouring the draw commands from the first application to the rendering API.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, apparatuses and systems directed to capturing an object rendered on the first window of a display by a first program, extracting the object, permitting a user to drag the object across the display into a second window of the display containing a second program, and importing the object into the second program in substantially real-time. The drag and drop process occurs seamlessly to the user and permits a user to select one or more of a plurality of objects in one application, drag the object into a second application for modification, and drag the modified object back into the first application for real-time preview.
31 Citations
18 Claims
-
1. A method comprising:
-
receiving, by a processor, a first user input; responsive to the first user input, selecting, by the processor, an object rendered in a first window of a display by a first application and a rendering API (Application Programming Interface), wherein selecting an object comprises intercepting draw commands from the first application to the rendering API; extracting, by the processor, the object from the first application via an engine that monitors received user inputs; receiving, by the processor, a second user input for dragging the object on the display from the first window to a second application rendered in a second window; responsive to the second user input to drag the object from the first window to the second window; rendering, by the processor, a borderless window; rendering, by the processor, a selection in the borderless window by detouring the draw commands intercepted from the first application to the rendering API to the engine, wherein the selection comprises the object selected by the user; and moving, by the processor, the borderless window comprising the selection across the display from the first window to the second window pursuant to the second user input; importing, by the processor, in response to the selection in the borderless window crossing a focus border of the second window, the selection in the borderless window into the second application, the importing comprising inserting the intercepted draw commands into a rendering API pipeline operable to instruct the rendering API to render the selection in the second window, the rendering in the second window being in accordance with visual effects of the second application; and ceasing, by the processor upon importation, intercepting and detouring the draw commands from the first application to the rendering API. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system, comprising:
-
a graphics processing unit; a processor; and a storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising; first user input receiving logic, executed by the processor, to receive a first user input; selecting logic, executed by the processor to select an object rendered in a first window of a display by a first application and a rendering API in response to receiving the first user input; extracting logic, executed by the processor, to extract the object from the first application via an engine that monitors received user inputs, wherein selecting an object comprises intercepting draw commands from the first application to the rendering API; second user input receiving logic, executed by the processor, to receive a second user input; dragging logic, executed by the processor, to drag the object on the display from the first window to a second application rendered in a second window in response to receiving the second user input, the dragging logic further comprising; window rendering logic, executed by the processor to render a borderless window; selection rendering logic, executed by the processor to render a selection in the borderless window by detouring the draw commands intercepted from the first application to the rendering API to the engine, wherein the selection comprises the object selected by the user; and moving logic, executed by the processor, to move the borderless window across the display from the first window to the second window pursuant to the second user input in response to receiving the second user input to drag the borderless window from the first window to the second window; importing logic, executed by the processor, to import, in response to the selection in the borderless window crossing a focus border of the second window, the selection in the borderless window into the second application, the importing comprising inserting the intercepted draw commands into a rendering API pipeline operable to instruct the rendering API to render the selection in the second window, the rendering in the second window being in accordance with visual effects of the second application; and ceasing logic, executed by the processor, to cease, upon importation, intercepting and detouring the draw commands from the first application to the rendering API. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A non-transitory computer readable storage medium, having stored thereon, processor-executable instructions for:
-
receiving a first user input; responsive to the first user input, selecting an object rendered in a first window of a display by a first application and a rendering API, wherein selecting an object comprises intercepting draw commands from the first application to the rendering API; extracting the object from the first application via an engine; receiving a second user input for dragging the 3D object on the display from the first window to a second application rendered in a second window; responsive to the second user input; rendering a borderless window; rendering a selection in the borderless window by detouring the draw commands intercepted from the first application to the rendering API to the engine, wherein the selection comprises the object selected by the user; and moving the borderless window comprising the selection across the display from the first window to the second window pursuant to the second user input; importing, in response to the selection in the borderless window crossing a focus border of the second window, the selection in the borderless window into the second application, the importing comprising inserting the intercepted draw commands into a rendering API pipeline operable to instruct the rendering API to render the selection in the second window, the rendering in the second window being in accordance with visual effects of the second application; and ceasing, upon importation, intercepting and detouring the draw commands from the first application to the rendering API. - View Dependent Claims (18)
-
Specification