Full-screen window dragging method and related equipment
Through the full-screen window drag and drop method and heterologous screen projection technology, the problems of single functions and limited interactions during device interconnection are solved, and rich interactions and user experience are improved between devices.
Patent Information
- Application Number
- CN202310809404.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-30
- Publication Date
- 2024-12-31
AI Technical Summary
In the prior art, when the device is interconnected, the functions implemented by the mouse are relatively single, which limits the user experience and cannot drag files, pictures and application icons from one device back to the original device, and the interactive scenes are limited.
Provide a full-screen window drag method, allowing the full-screen window to be dragged between electronic devices of different operating systems, and perform heterogeneous projection in the target device, and simulate the dragging process through the display of the dynamic effect window and wallpaper mask. , improve user experience.
It realizes dragging and heterogeneous screen projection of full-screen windows between devices, enriches the device interaction scenarios, improves the user experience, and supports dragging the full-screen window back to the original device to meet the users' multi-directional interaction needs.
Smart Images

Figure CN119225611A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of terminal technology, and in particular to a full-screen window dragging method and related equipment. Background Art
[0002] With the development of communication technology, some electronic devices can share input devices after being interconnected, and the input devices may include a mouse, a touchpad, etc. For example, after a tablet computer PAD and a personal computer (PC) are interconnected, the content displayed on the PAD interface can be triggered by the mouse connected to the PC.
[0003] In some implementations, after the PAD is connected to the PC, it can also support dragging files and pictures in the PC to the PAD through the mouse connected to the PC. However, the functions achieved by the mouse between the PAD and the PC are relatively simple, which is not conducive to the user experience in device interconnection. Summary of the invention
[0004] The embodiments of the present application provide a full-screen window dragging method and related devices, which are applied to the field of terminal technology. In the embodiments of the present application, after dragging the full-screen window in the PAD or mobile phone to the PC, the process of heterogeneous screen projection can be performed in the PC, thereby increasing the richness of device interaction.
[0005] In a first aspect, an embodiment of the present application proposes a full-screen window dragging method, which is applied to a communication system, wherein the communication system includes a first electronic device installed with a first operating system and a second electronic device installed with a second operating system, the first electronic device or the second electronic device is connected to an input device, and the first operating system is different from the second operating system, and the method includes:
[0006] The first electronic device displays a first cursor and a full-screen window of a first application, and the first cursor is located on the full-screen window; when the user controls the first cursor to select and drag the full-screen window through an input device, the first electronic device displays a reduced full-screen window; when the first cursor drags the full-screen window to a first position, the first electronic device displays a wallpaper, displays a first motion effect window at the first position, and stops displaying the full-screen window, the first motion effect window includes a first identifier of the first application, the first motion effect window is located on an upper layer of the wallpaper, and the size of the first motion effect window is smaller than the size of the full-screen window; in the process of the first cursor dragging the first motion effect window to move, when the first cursor moves from the edge of the first screen of the first electronic device, When the first cursor moves the second motion effect window, when the first cursor releases the first cursor at the second position through the input device, the second electronic device displays the projection window at the second position and stops displaying the second motion effect window. When the projection window of the second electronic device does not display part or all of the content of the full-screen window, the first electronic device displays the wallpaper and sets the layer where the full-screen window is located to the lower layer of the wallpaper.
[0007] In this way, after the full-screen window of the first electronic device is dragged to the second electronic device, the process of heterogeneous screen projection can be supported in the second electronic device, increasing the richness of device interaction. In addition, when the user releases the mouse in the second electronic device and the real screen projection content is displayed in the screen projection window of the second electronic device, the wallpaper is displayed in the first electronic device, so that the user does not perceive the process of the window of the first application switching to full screen in the first electronic device, thereby improving the user experience.
[0008] In one possible implementation, the method further includes: when part or all of the content of the full-screen window is displayed in the projection window, the first electronic device stops displaying the wallpaper and displays the desktop. In this way, after the heterogeneous projection is implemented in the second electronic device, the first electronic device can support the user to implement other functions.
[0009] In a possible implementation, when detecting that the user releases the first cursor at the second position through the input device, the second electronic device also sends a cursor release event to the first electronic device; in response to the cursor release event, the first electronic device also performs stack shifting; after the first electronic device completes the stack shifting, the projection window displays part or all of the content of the full-screen window, and the first electronic device stops displaying the wallpaper. Because after the stack shifting is completed, the projection window of the second electronic device can display the projection content of the first application, the first device stops displaying the wallpaper and displays the desktop, and the user can perform other operations on the desktop.
[0010] In a possible implementation, the first electronic device includes a first module and a second module; the first module and the second module are different; when the first cursor drags the full-screen window to the first position, the first module draws the first motion effect window and draws the wallpaper of the lower layer of the first motion effect window; when the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, the first module draws the wallpaper and does not draw the first motion effect window; in response to the cursor release event, the first module ends drawing the wallpaper, and the second module draws the wallpaper located on the upper layer of the full-screen window; after part or all of the content of the full-screen window is displayed in the projection window, the second module ends drawing the wallpaper. In this way, without affecting the execution logic of the first module, the first electronic device can realize the drawing of higher-level wallpaper through the second module, thereby increasing the versatility of the embodiments of the present application.
[0011] In one possible implementation, the second module maintains a drag state value, and the drag state value includes a first value, a second value and a third value; when the user controls the first cursor through an input device to select and drag the full-screen window, the second module updates the drag state value from the first value to the second value; when the first cursor drags the full-screen window to the first position, the first module queries that the drag state value is the second value, the first module draws the first animation window, and draws the wallpaper under the first animation window; when the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, the second module updates the drag state value from the second value to the third value, the first module queries that the drag state value is the third value, the first module draws the wallpaper, and does not draw the first animation window; in response to a cursor release event, the second module updates the drag state value from the third value to the first value.
[0012] In this way, by setting the drag state, when the mouse crossing occurs, the electronic device can determine whether the mouse crossing is a cursor crossing when there is no drag event (for example, the user does not press the mouse, but only moves the mouse to cross between electronic devices), or a cursor dragging window crossing when there is a drag event (for example, the user presses the mouse in the full-screen window, and moves the mouse to drag the full-screen window to cross between electronic devices).
[0013] In a possible implementation, when the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, if the first electronic device determines that the value of the drag state is a second value, the first electronic device also sends information for indicating a display window to the second electronic device; the second electronic device displays the second dynamic effect window dragged by the first cursor, including: in response to the information for indicating a display window, the second electronic device displays the second dynamic effect window dragged by the first cursor. In this way, by dragging the drag state, the first electronic device can conveniently determine the different states of the cursor in the drag operation.
[0014] In a possible implementation, the first electronic device stops displaying the full-screen window, including: the first module sets the display attribute of the first application to be hidden; in response to the cursor release event, the first module also sets the display attribute of the first application to be visible, and sets the first application to full-screen mode. In this way, the first electronic device can control the display or hiding of the full-screen window of the first application by conveniently setting the display attribute of the first application and the display mode.
[0015] In a possible implementation, when the user controls the first cursor to select the draggable area of the full-screen window by pressing the input device, the first electronic device monitors the gesture press event; the first electronic device registers an input monitor according to the gesture press event, and the input monitor is used to monitor the moving event of the draggable area. In this way, when the subsequent drag operation continues, the cursor move event can be monitored through the task locator, and there is no need to call the moving task every time, saving computing resources.
[0016] In a possible implementation, when the first electronic device monitors the first movement event of the draggable area, the first electronic device sends the identification information of the first application to the second electronic device, and the identification information includes: application package name, application name and / or application icon. In this way, when the cursor subsequently drags the full-screen window from the first electronic device to the second electronic device, the second electronic device can promptly draw the dynamic effect window based on the application package name, application name and / or application icon, so that the user can have the experience of dragging the floating window to the second electronic device.
[0017] In a possible implementation, when the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, the first electronic device also shields the gesture event in the first electronic device; when the first electronic device completes the stack shift, the first electronic device also unshields the gesture event in the first electronic device. In this way, when the screen of the first electronic device receives an operation such as a click by the user, the first electronic device does not respond and does not interrupt the execution process of dragging the full-screen window.
[0018] In a possible implementation, it further includes: during the process of the first cursor dragging the second motion effect window, when the first cursor moves from the second screen edge of the second electronic device to the first screen edge of the first electronic device, the first electronic device displays the first motion effect window dragged by the first cursor, the first motion effect window is located on the upper layer of the wallpaper, and the second electronic device stops displaying the second motion effect window. In this way, it can support the user to drag the full screen window of the first electronic device to the second electronic device, and it can also support the full screen window to be dragged from the second electronic device back to the first electronic device, enriching the device interaction scene.
[0019] In a second aspect, an embodiment of the present application provides a communication system, which may include a first electronic device and a second electronic device of the first aspect, wherein the first electronic device may implement a method performed by the first electronic device described in the first aspect or any possible implementation of the first aspect, and the second electronic device may implement a method performed by the second electronic device described in the first aspect or any possible implementation of the first aspect.
[0020] In a third aspect, an embodiment of the present application provides a full-screen window dragging device, which may be an electronic device, or a chip or chip system in an electronic device. The full-screen window dragging device may include a display unit and a processing unit. When the full-screen window dragging device is an electronic device, the display unit may be a display screen. The display unit is used to execute the display step so that the electronic device implements the method performed by the first electronic device or the second electronic device described in the first aspect or any possible implementation of the first aspect. When the full-screen window dragging device is an electronic device, the processing unit may be a processor. The full-screen window dragging device may also include a storage unit, which may be a memory. The storage unit is used to store instructions, and the processing unit executes the instructions stored in the storage unit so that the electronic device implements the method performed by the first electronic device or the second electronic device described in the first aspect or any possible implementation of the first aspect. When the full-screen window dragging device is a chip or chip system in an electronic device, the processing unit may be a processor. The processing unit executes the instructions stored in the storage unit so that the electronic device implements the method performed by the first electronic device or the second electronic device described in the first aspect or any possible implementation of the first aspect. The storage unit may be a storage unit within the chip (eg, a register, a cache, etc.), or a storage unit within the electronic device that is located outside the chip (eg, a read-only memory, a random access memory, etc.).
[0021] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising a processor and a memory, the memory being used to store code instructions, and the processor being used to run the code instructions to execute a method executed by a first electronic device described in any possible implementation of the first aspect, or to execute a method executed by a second electronic device described in any possible implementation of the first aspect.
[0022] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program. When the computer program is executed by a processor, the method performed by the first electronic device as described in any possible implementation of the first aspect is implemented, or the method performed by the second electronic device as described in any possible implementation of the first aspect is implemented.
[0023] In a sixth aspect, an embodiment of the present application provides a computer program product, which includes a computer program. When the computer program is run, the computer executes a method executed by a first electronic device described in any possible implementation of the first aspect, or executes a method executed by a second electronic device described in any possible implementation of the first aspect.
[0024] In a seventh aspect, the present application provides a chip or a chip system, the chip or chip system comprising at least one processor and a communication interface, the communication interface and the at least one processor are interconnected by a line, and the at least one processor is used to run a computer program or instruction to execute a method performed by a first electronic device described in any possible implementation of the first aspect, or to execute a method performed by a second electronic device described in any possible implementation of the first aspect. The communication interface in the chip may be an input / output interface, a pin, or a circuit, etc.
[0025] In a possible implementation, the chip or chip system described above in the present application further includes at least one memory, in which instructions are stored. The memory may be a storage unit inside the chip, such as a register, a cache, etc., or a storage unit of the chip (e.g., a read-only memory, a random access memory, etc.).
[0026] It should be understood that the second to seventh aspects of the present application correspond to the technical solutions of the first aspect of the present application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Figure 1 A schematic diagram of a keyboard and mouse interconnection scenario in an embodiment of the present application;
[0028] Figure 2 This is a schematic diagram of another keyboard and mouse interconnection scenario according to an embodiment of the present application;
[0029] Figure 3 A schematic diagram of the hardware structure of a first electronic device provided in an embodiment of the present application;
[0030] Figure 4 A schematic diagram of the hardware structure of a second electronic device provided in an embodiment of the present application;
[0031] Figure 5 A schematic diagram of the software structure of a first electronic device and a second electronic device provided in an embodiment of the present application;
[0032] Figure 6 A schematic diagram of software module interaction provided in an embodiment of the present application;
[0033] Figure 7 A schematic diagram of displaying a full-screen window in a PAD provided in an embodiment of the present application;
[0034] Figure 8 A schematic diagram of a full-screen window shrinking animation displayed in a PAD provided in an embodiment of the present application;
[0035] Fig. 9 A schematic diagram of displaying a dynamic effect window and a wallpaper mask in a PAD provided in an embodiment of the present application;
[0036] Fig.10 A schematic diagram showing a partial dynamic effect window and a wallpaper mask in a PAD provided in an embodiment of the present application;
[0037] Fig.11 A schematic diagram of a PC displaying a dynamic effect window provided in an embodiment of the present application;
[0038] Fig.12 Another software module interaction diagram provided in an embodiment of the present application;
[0039] Fig.13 A schematic diagram of displaying a heterogeneous screen projection window in a PC provided in an embodiment of the present application;
[0040] Fig.14 A schematic diagram of displaying a same-source screen projection window in a PC provided in an embodiment of the present application;
[0041] Fig.15 A schematic diagram of a partial dynamic effect window displayed in a PC provided in an embodiment of the present application;
[0042] Fig.16 A schematic diagram of displaying a dynamic effect window and a wallpaper mask in a PAD provided in an embodiment of the present application;
[0043] Fig.17 A flowchart of a full-screen window dragging method provided in an embodiment of the present application;
[0044] Fig.18 A schematic diagram of the hardware structure of the chip provided in the embodiment of the present application. DETAILED DESCRIPTION
[0045] In order to clearly describe the technical solutions of the embodiments of the present application, some terms and technologies involved in the embodiments of the present application are briefly introduced below:
[0046] 1. Same-source screen projection: It can be understood that the content displayed in the screen projection interface of the projected device is the same or basically the same as the content displayed on the screen projection device interface. For example, when a mobile phone or PAD is used as a screen projection device to project the same-source screen to the projected device PC, the interface displayed by the mobile phone or PAD is the same as the content displayed in the screen projection display window on the PC. Of course, the screen projection display window on the PC can also display a title bar (such as maximize and minimize buttons), or the screen projection display window on the PC may not display the content in the status bar of the mobile phone or PAD. When the interface in the mobile phone or PAD changes from the first interface to the second interface, the content displayed in the screen projection display window on the PC may also change from the first interface to the second interface.
[0047] 2. Heterogeneous screen projection: It can be understood that the content displayed in the projection interface of the projected device may be different from the content displayed on the projection device interface. For example, when a mobile phone or PAD is used as a projection device to project the screen to the projected device PC, the mobile phone or PAD can display the interface of the first application, and the projection display window on the PC can display the interface of the second application. When the interface in the mobile phone or PAD changes from the first interface to the second interface, the interface displayed in the projection display window on the PC may remain unchanged.
[0048] 3. Keyboard and mouse sharing technology: It can be understood as a technology that uses the input device of an electronic device to control the electronic device and other electronic devices interconnected with the electronic device.
[0049] 4. Drag state: It can be used to identify whether the drag operation continues and whether the cursor is in the electronic device that starts the drag during the drag. For example, the drag state may include a first value, a second value, and a third value. The first value is used to indicate that there is no drag event in progress; the second value is used to indicate that there is a drag event in progress and the cursor is displayed in the electronic device that starts the drag; the third value is used to indicate that there is a drag event in progress and the cursor is not displayed in the electronic device that starts the drag. Among them, the occurrence of a drag event can be understood as the drag operation has not ended (for example, the user has not released the mouse), and the absence of a drag event can be understood as the absence of a drag operation (for example, the user has not pressed the mouse and dragged). The first value, the second value, and the third value can be different without special limitation. For example, the first value can be set to 0, the second value to 1, the third value to 2, etc.
[0050] In an embodiment of the present application, by setting the drag state, when a mouse crossing occurs, the electronic device can determine whether the mouse crossing is a cursor crossing when there is no drag event (for example, the user does not press the mouse, but only moves the mouse to cross between electronic devices), or a cursor dragging window crossing when there is a drag event (for example, the user presses the mouse in a full-screen window, and moves the mouse to drag the full-screen window to cross between electronic devices).
[0051] For example, when the mouse passes through the electronic device from which the mouse is being dragged, if the electronic device determines that the dragging state is the second value, the electronic device updates the dragging state to the third value; if the electronic device determines that the dragging state is not the second value, the electronic device does not update the dragging state, and the electronic device can execute the cursor crossing related processes when there is no dragging event.
[0052] Similarly, when the mouse passes back from another electronic device to the electronic device that initiated the drag, if the electronic device determines that the drag state is the third value, the electronic device updates the drag state to the second value; if the electronic device determines that the drag state is not the third value, the electronic device does not update the drag state, and the electronic device can execute the cursor crossing related processes when there is no drag event.
[0053] 5. Other terms
[0054] In the embodiments of the present application, words such as "first" and "second" are used to distinguish the same or similar items with substantially the same functions and effects. For example, the first chip and the second chip are only used to distinguish different chips, and their order is not limited. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different.
[0055] It should be noted that in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0056] In the embodiments of the present application, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, a--c, bc, or abc, where a, b, c can be single or multiple.
[0057] It should be noted that the "at..." in the embodiment of the present application can be the instant when a certain situation occurs, or can be a period of time before or after a certain situation occurs, and the embodiment of the present application does not specifically limit this. In addition, the display interface provided in the embodiment of the present application is only an example, and the display interface can also include more or less content.
[0058] In some implementations, only the dragging and dropping of files, pictures, and application icons are supported between devices that establish communication based on keyboard and mouse sharing technology. After dragging files, pictures, and application icons from one device to another, it is not supported to drag the files, pictures, and application icons back to the original device. The interaction scenarios are relatively limited, affecting the user experience.
[0059] In view of this, the full-screen window dragging method provided in the embodiment of the present application can support the dragging of full-screen windows between electronic devices. Among them, the operating systems installed on the two electronic devices can be different, for example, device 1 is an Android operating system, and device 2 is a Windows operating system. For example, after the full-screen window of device 1 is dragged to device 2, it can also support the full-screen window to be dragged back from device 2 to device 1, or, after the full-screen window of device 1 is dragged to device 2, heterogeneous screen projection is realized on device 2, enriching the scene of interaction between devices and improving user experience.
[0060] The full-screen window dragging method provided in the embodiment of the present application may be applied in a communication system, which may include a first electronic device 100 and a second electronic device 200.
[0061] For example, Figure 1 As shown, an input device 300 may be connected to the first electronic device 100, and the first electronic device 100 and the second electronic device 200 may establish a communication connection. After the first electronic device 100 and the second electronic device 200 turn on the keyboard and mouse sharing function, the user can not only use the input device 300 of the first electronic device 100 to control the first electronic device 100, but also pass the input device 300 to the screen of the second electronic device 200 to control the second electronic device 200. In an embodiment of the present application, the user can drag the full-screen window in the first electronic device 100 to the second electronic device 200, and then display the content of the full-screen window of the first electronic device 100 on the screen of the second electronic device 200 through the same-source screen projection or the different-source screen projection. In this way, the scene of interaction after the first electronic device 100 and the second electronic device 200 are interconnected can be enriched, and the user experience can be improved.
[0062] Or, if Figure 2As shown, the second electronic device 200 may be connected to an input device 300, and the first electronic device 100 and the second electronic device 200 may establish a communication connection. After the first electronic device 100 and the second electronic device 200 turn on the keyboard and mouse sharing function, the user can not only use the input device 300 of the second electronic device 200 to control the second electronic device 100, but also pass the input device 300 to the screen of the first electronic device 100 to control the first electronic device 100. In an embodiment of the present application, the user can drag the full-screen window in the first electronic device 100 to the second electronic device 200, and then display the content of the full-screen window of the first electronic device 100 on the screen of the second electronic device 200 through the same-source screen projection or the different-source screen projection. In this way, the scene of interaction after the first electronic device 100 and the second electronic device 200 are interconnected can be enriched, and the user experience can be improved.
[0063] Among them, the first electronic device 100 and the second electronic device 200 may enable the keyboard and mouse sharing function including but not limited to the following methods: using the input device 300 to touch the edge of the first electronic device 100 or the edge of the second electronic device 200 a preset number of times, and / or, the second electronic device 200 provides an interface for establishing keyboard and mouse sharing with the first electronic device 100, and the user chooses to share the keyboard and mouse with the first electronic device 100 in the interface.
[0064] It should be noted that the full-screen windows in the embodiments of the present application all have a draggable area, which may include a bar in the full-screen window, an area where a title bar is located, and / or an area near the title bar, etc.
[0065] Understandably, Figure 1 and Figure 2 The first electronic device 100 is a PAD, the second electronic device 200 is a PC, and the input device 300 is a mouse. This example does not limit the first electronic device 100, the second electronic device 200, and the input device 300.
[0066] The first electronic device 100 and the second electronic device 200 can be devices of the same type or devices of different types. Exemplarily, the first electronic device 100 and the second electronic device 200 can be any of the following electronic devices: a mobile phone, a tablet computer, a PDA, a laptop computer, a mobile internet device (MID), a wearable device, a virtual reality (VR) device, an augmented reality (AR) device, a wireless terminal in industrial control, a wireless terminal in self driving, a wireless terminal in remote medical surgery, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a wireless communication device, ... assistant, PDA), handheld devices with wireless communication functions, computing devices or other processing devices connected to wireless modems, vehicle-mounted devices, wearable devices, electronic devices in 5G networks or electronic devices in future public land mobile networks (PLMN), electronic devices in Internet of Things (IoT) systems, etc., which are not limited in the embodiments of the present application. Among them, the mobile phone can be a straight-screen mobile phone or a folding screen mobile phone.
[0067] The input device 300 may include a mouse, a touch pad, a touch screen, or the like.
[0068] It should be noted that when the input device is connected to the first electronic device 100 or the second electronic device 200, it can be a wired connection or a wireless connection. When the input device is wiredly connected to a device such as a mobile phone or a PAD, an adapter can be used to convert the interface of the input device into a type that can be inserted into the interface of the mobile phone or PAD to achieve a wired plug-in connection.
[0069] In order to better understand the embodiment of the present application, the structure of the first electronic device 100 and the structure of the second electronic device 200 in the embodiment of the present application are exemplarily introduced below:
[0070] Figure 3 The structure diagram of the first electronic device 100 is shown. The first electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195.
[0071] Among them, the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0072] It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the first electronic device 100. In other embodiments of the present application, the first electronic device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0073] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0074] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.
[0075] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0076] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuits sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0077] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0078] The first electronic device 100 implements a display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for full-screen window dragging, connecting the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
[0079] Figure 4 FIG. 2 shows a schematic diagram of the structure of the second electronic device 200. Figure 4, the second electronic device 200 may include multiple subsystems that cooperate to perform, coordinate or monitor one or more operations or functions of the electronic device 202. The second electronic device 200 includes a processor 210, an input surface 220, a coordination engine 230, a power subsystem 240, a power connector 250, a wireless interface 260 and a display 270.
[0080] Exemplarily, the coordination engine 230 can be used to communicate and / or process data with other subsystems of the second electronic device 200; for example, communicate and / or trade data with the stylus 100; measure and / or obtain the output of one or more analog or digital sensors (such as a touch sensor), etc.
[0081] The processor 210 may be used to execute, coordinate and / or manage functions of the second electronic device 200. Such functions may include, but are not limited to, communicating with other subsystems of the second electronic device 200 and / or transaction data, etc.
[0082] The processor 210 may be used to process, receive or send data or instructions. For example, the processor may be a microprocessor, a central processing unit, an application specific integrated circuit, a field programmable gate array, a digital signal processor, an analog circuit, a digital circuit or a combination of these devices. The processor may be a single-threaded or multi-threaded processor. The processor may be a single-core or multi-core processor.
[0083] During use, the processor 210 may be configured to access a memory storing instructions that may be configured to cause the processor to execute, coordinate or monitor one or more operations or functions of the second electronic device 200 .
[0084] The wireless interface 260 may be used to communicate with the first electronic device 100 .
[0085] It is understandable that some of the specific details presented above regarding the first electronic device 100 and the second electronic device 200 may not be necessary, and the embodiments of the present application do not limit the specific structures of the first electronic device 100 and the second electronic device 200.
[0086] In the embodiment of the present application, the first electronic device 100 and the second electronic device 200 may use different operating systems, and the operating system may include, for example, any of the following operating systems: Linux operating system, Unix operating system, Android operating system, iOS operating system or Windows operating system, etc.
[0087] For example, Figure 5Taking the case where the operating system of the first electronic device 100 is the Android system and the operating system of the second electronic device 200 is the Windows system as an example, partial software architectures of the first electronic device 100 and the second electronic device 200 are exemplified.
[0088] like Figure 5 As shown, the operating system of the first electronic device 100 may include an application layer and an application framework layer (framework, FWK).
[0089] The application layer may include a keyboard and mouse module, which may also be called a virtual input installation package (virtualinput android package, VIAPK), a keyboard and mouse APK, and the like.
[0090] The keyboard and mouse module can be used for device connection management, drag status update and synchronization, keyboard and mouse event interception and injection, mouse crossing identification, etc. Among them, device connection management is used to realize discovery and communication connection between devices, drag status update and synchronization is used to update and synchronize whether there is a drag event in the device, whether there is a cursor in the device, etc., keyboard and mouse event interception and injection is used to intercept and inject keyboard and mouse parameters when it is determined that a keyboard and mouse event occurs, etc., and mouse crossing identification is used to identify whether the mouse cursor crosses the edge of the display screen of the electronic device.
[0091] FWK can include a variety of system services (system server), including, for example, motion effect management, drag process management, and heterogeneous screen projection.
[0092] Animation management can be used for hot zone initialization and strategy matching, gesture recognition, input event listening, animation start and stop, animation resource management, etc. Among them, the hot zone in animation management can be understood as the draggable area in the animation interface, strategy matching is used to match the scene of animation display, the content of animation, etc., gesture recognition is used to identify drag operations, input event listening is used to listen to the position of the mouse, animation start and stop is used to manage the timing of animation display or non-display, and animation resource management is used to manage the resources required for animation display.
[0093] The drag process management can be used for drag status update and synchronization, wallpaper mask hiding and display, application layer visibility management, exception timeout protection, etc. Among them, drag status update and synchronization, for example, is used to update and synchronize whether there is a drag event in the device, whether there is a cursor in the device, and other states. Optionally, the drag state in FWK can be synchronized with the drag state in the keyboard and mouse APK. Wallpaper mask hiding and display, for example, is used to manage the hiding or display of the wallpaper mask during the dragging of the full-screen window. Application layer visibility management, for example, is used to manage the display or hiding of the layer where the full-screen window is located. Abnormal timeout protection, for example, is used to protect the normal operation of the application in the full-screen window when the drag process is abnormal.
[0094] Heterogeneous screen projection can be used for application stack shifting, window mode switching, etc. Among them, application stack shifting is used, for example, to realize heterogeneous screen projection of the content in the full-screen window of an electronic device to other devices, and window mode switching is used, for example, to switch the window mode from application column mode to full-screen mode. Application column mode can refer to the split-screen display within the application, and application column mode can also be called application split-screen mode, etc.
[0095] It is understandable that the application framework layer may also include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, etc., which is not specifically limited in the embodiments of the present application.
[0096] Of course, the operating system of the first electronic device 100 may also include a hardware abstract layer (HAL), a driver layer, and a hardware layer, etc. Each layer has its own role and division of labor, which is not limited in the embodiment of the present application.
[0097] like Figure 5 As shown, the operating system of the second electronic device 200 may include an application layer, and the application layer may include applications such as PC Manager.
[0098] PC Butler can be installed in the operating system of the PC in the form of a system application or a third-party application. For example, PC Butler can be used for device connection management, drag status update and synchronization, keyboard and mouse event management, heterogeneous screen projection, etc. Among them, device connection management is used to realize discovery and communication connection between devices, drag status update and synchronization is used to update and synchronize whether there is a drag event in the device, whether there is a cursor in the device, etc., keyboard and mouse event management is used to realize the management of mouse pressing, moving, and lifting events, etc., heterogeneous screen projection is used to manage the stacking and projection between the first electronic device and the second electronic device, etc. Optionally, PC Butler can also be used for animation start and stop, animation resource management. Animation start and stop are used to manage the display or non-display timing of animations, etc., and animation resource management is used to manage the resources required for the display of animations, etc.
[0099] Of course, the operating system of the second electronic device 200 may also include other layers such as a kernel and a driver, which are used to implement various functions of the second electronic device 200 together with the application layer, and this embodiment of the present application does not limit this.
[0100] When the first electronic device 100 and the second electronic device 200 implement the full-screen window dragging method of the embodiment of the present application, the modules in the operating systems of each device may interact with each other. The following will combine the possible software module interactions and possible interface displays in the full-screen window dragging process implemented by the first electronic device 100 and the second electronic device 200 to exemplify the full-screen window dragging method provided by the embodiment of the present application.
[0101] For ease of description, in the embodiments of the present application and the related drawings, the first electronic device 100 is a PAD, the second electronic device 200 is a PC, and the input device 300 is a mouse. This example does not constitute a specific limitation on the first electronic device 100, the second electronic device 200, and the input device 300. For example, the first electronic device 100 can also be replaced by a mobile phone, etc.
[0102] It is understandable that before the PAD and PC perform full-screen window dragging, the mobile phone and PC can first connect the keyboard and mouse. During the keyboard and mouse connection stage between the PAD and PC, the PAD can bind the communication service between the application framework layer and the keyboard and mouse module for mutual communication between subsequent modules. In addition, the application framework layer can apply to the keyboard and mouse module for a drag switch, and the keyboard and mouse module can decide whether to support window dragging based on the PAD configuration items and the situation of the PC, and return it to the application framework layer. If the PAD supports window dragging, the full-screen window dragging method of the embodiment of the present application can be executed.
[0103] For example, Figure 6 The diagram shows a schematic diagram of the interaction flow of each module in the PAD and PC software system in a scenario where a drag operation on a full-screen window is received from the PAD and the drag operation continues, causing the mouse to pass from the PAD to the PC.
[0104] The modules involved on the PAD side may include modules in the application layer and modules in the application framework layer.
[0105] Among them, the modules in the application layer may include a keyboard and mouse module, a screen projection module, and a system user interface (SystemUI) module. Among them, the keyboard and mouse module can be used for keyboard and mouse crossing monitoring, etc., the screen projection module can be used for heterogeneous screen projection, etc., and SystemUI can be used to determine whether there is an operation of pressing the bar of the full-screen window.
[0106] Modules in the application framework layer may include: activity task manager, multi window gesture manager, multi window gesture consumer, multi window full animation helper, gesture animation controller, multi window top full hotarea, multi window surface controller, multi display manager, and virtual input manager.
[0107] Among them, activity task management can be used for data transmission between SystemUI and multi-window gesture consumption, multi-window gesture management can be used to monitor various types of mouse events during mouse dragging, multi-window gesture consumption can be used to record information related to mouse events, multi-window full-screen assistant can be used to manage the dynamic drawing strategy when the cursor moves to the full-screen edge hot area, gesture animation control can be used for data interaction between the multi-window full-screen assistant and the multi-window top hot area, the multi-window top hot area can be used to manage the animation when the cursor moves to the full-screen top hot area, the multi-window surface controller can be used to control the display and hiding of animation, etc., multi-display management can be used for stack management, etc., multi-display management can also be called multi-screen management, virtual input management can be used to manage drag status and hiding of mask wallpaper, etc.
[0108] The above modules in the application framework layer of PAD interact with each other and can be used to implement the following Figure 5 Services for motion effect management, drag process management, and heterogeneous screen projection.
[0109] The modules involved on the PC side may include a keyboard and mouse module and a screen projection module. The screen projection module is used to realize the screen projection of the application in the PAD full-screen window on the PC.
[0110] like Figure 6 As shown in the figure, the interaction process of some modules in the PAD and PC software system may include the following steps:
[0111] S601 (not shown in the figure), SystemUI monitors a gesture press event, wherein the gesture press event may be generated by a user pressing a mouse in a draggable area of a full-screen window.
[0112] The full screen window may include a draggable area, and the draggable area may include a bar, an area where a title bar is located, and / or an area near the title bar. Figure 7 is a display interface of a PAD. Among them, the PAD displays a status bar and a display interface of a calculator APP. The display interface of the calculator APP is displayed in the form of a full-screen window. Among them, Figure 7 The area between the middle dotted line and the top of the full-screen window can be set as the draggable area 701. The draggable area in the full-screen window can be managed by SystemUI.
[0113] When the keyboard and mouse sharing function is enabled in the PAD, the cursor 702 can be moved in the draggable area 701 through an input device such as a mouse. The cursor 702 can be Figure 7 The arrow shape shown may also be a circle or any other shape, which is not specifically limited in the embodiments of the present application.
[0114] SystemUI can register to listen for gesture press (down) events in the draggable area. For example, SystemUI can register to listen for gesture press events in the draggable area through the function init bar view(). When the user presses the mouse in the draggable area, the PAD's SystemUI can listen for the gesture press (on gesture animation action down).
[0115] S602 (not shown in the figure): SystemUI indicates that there is a gesture press event in the multi-window gesture management.
[0116] For example, when SystemUI listens to the down event, SystemUI can instruct the multi-window gesture management that there is a gesture press event through the active task management. SystemUI can also transmit the cursor coordinates, press time and other information when the gesture press event occurs to the multi-window gesture management through the active task management.
[0117] The multi-window gesture management can perform an initialization hot area in advance to initialize the mouse event monitoring of the draggable area in the full-screen window. When the multi-window gesture management determines that there is a gesture press event, the multi-window gesture management can initialize the input monitoring (init input monitor). The multi-window gesture management can also instruct the multi-window gesture consumer to have a gesture press event (on action down), the coordinates of the cursor when the gesture press event occurs, the press time and other information. The multi-window gesture consumer can record the coordinates of the cursor when the gesture press event occurs, the press time and other information.
[0118] It should be noted that S601 and S602 of the embodiment of the present application are compatible with the native logic of gesture pressing in SystemUI, and there is no need to redevelop the code of this part, thus saving development costs.
[0119] S603: The multi-window gesture management monitors a moving event of the draggable area and may indicate that the multi-window gesture consumer has a moving event (action move).
[0120] When SystemUI indicates that the multi-window gesture management has a gesture press event, the multi-window gesture management can initialize the input listener, which can be used to listen to the gesture move event of the draggable area.
[0121] When the user presses the mouse in the draggable area of the full-screen window and performs a drag operation, the multi-window gesture management can monitor the movement event of the draggable area. The multi-window gesture management can also instruct the multi-window gesture to consume information such as the coordinates of the cursor in the movement event.
[0122] It is understandable that the multi-window gesture management can continuously monitor the movement events of the draggable area, and continuously provide information such as the coordinates of the cursor in the synchronous movement events to the multi-window gesture consumer.
[0123] S604: When the first move event occurs, the multi-window gesture consumer transmits information such as application package name, application name, and application icon to the virtual input management.
[0124] The first move event can be understood as the move event that the multi-window gesture management listens to for the first time after the systemUI indicates to the multi-window gesture management that a gesture down event occurs in the draggable area.
[0125] Exemplarily, when the first move event occurs, the multi-window gesture management can indicate the move event (action move) to the multi-window gesture consumer, the multi-window gesture consumer can confirm the first move event (action first move), and the multi-window gesture consumer can determine the target application corresponding to the content displayed in the full-screen window, and obtain information such as the application package name, application name and application icon (icon) of the target application. For example, the multi-window gesture consumer can obtain the target application from the gesture animation control.
[0126] Furthermore, the multi-window gesture consumer may transmit information such as the application package name, application name, and application icon to the virtual input manager.
[0127] S605: The virtual input management transmits information such as the application package name, application name, and application icon to the keyboard and mouse module of the PAD, and updates the drag state to the second value.
[0128] In the embodiment of the present application, both the virtual input management and the keyboard and mouse module of the PAD can update the drag state to a second value, and the second value can be used to indicate that a drag operation is in progress and the cursor is displayed in the PAD.
[0129] It is understandable that when there is no drag event, the drag status in the virtual input management and the keyboard and mouse module of the PAD can both be a first value, and the first value can be used to indicate that no drag operation is performed.
[0130] S606: The keyboard and mouse module of the PAD sends information such as the application package name, application name, and application icon to the keyboard and mouse module of the PC.
[0131] Based on S604-S606, multi-window gesture consumption can send application package name, application name, application icon and other information to the keyboard and mouse module of the PC in advance through virtual input management and the keyboard and mouse module of the PAD. In this way, when the cursor drags the full-screen window from the PAD to the PC, the PC can draw the dynamic window in time through the application package name, application name and / or application icon and other information, so that the user can have the experience of dragging the full-screen window to the PC. Among them, the dynamic window of the PC will be described in detail in subsequent steps and will not be repeated here. Among them, the application package name can be the globally unique identifier of the application.
[0132] S607. The multi-window gesture consumption indicates that the multi-window full-screen assistant updates its displacement.
[0133] As the drag operation continues, the multi-window gesture management continues to listen for move events. The multi-window gesture management can continue to synchronize gesture move events and the coordinates (x, y) of the gesture move events to the multi-window gesture consumer. If the multi-window gesture consumer determines that it is not the first move, the multi-window gesture consumer can instruct the multi-window full-screen assistant to update the displacement.
[0134] Furthermore, the multi-window full screen assistant can also instruct the multi-window full screen assistant to move the cursor to the hot zone (on moveto region), and the hot zone can also be understood as a draggable area. For example, the multi-window full screen assistant can instruct the multi-window top hot zone to calculate the cursor drop point, and the multi-window top hot zone can calculate the cursor drop point according to the coordinate point of the move event, and then the multi-window top hot zone can instruct the multi-window full screen assistant to move the cursor to the hot zone.
[0135] S608: The multi-window full-screen assistant instructs the multi-window surface controller to perform animation drawing.
[0136] After the multi-window full screen assistant determines that the cursor moves to the hot area, the multi-window full screen assistant can instruct the multi-window surface controller to perform animation drawing.
[0137] Exemplarily, the multi-window surface controller may be animated according to the following stages.
[0138] (1) The multi-window surface controller can draw an animation of the full-screen window shrinking, and draw a wallpaper mask under the shrunken full-screen window. Then the PAD can display the animation of the full-screen window shrinking, the wallpaper mask is displayed under the shrunken full-screen window, and the shrunken full-screen window includes a specific application running interface. In addition, the multi-window surface controller can also set the target application surface to be hidden, so that the full-screen window of the target application is not displayed. For example, Figure 8 As shown, still taking the full-screen window of the calculator APP in the PAD as an example, when the user drags the full-screen window of the calculator APP, the PAD displays an animation of the full-screen window shrinking, for example, the wallpaper mask 802 is displayed at the bottom layer of the shrunken full-screen window 801.
[0139] (2) The multi-window surface controller can draw a motion effect window and a wallpaper mask under the motion effect window. At this time, the PAD can display the motion effect window and display the wallpaper mask under the motion effect window. The motion effect window can be understood as a motion effect window drawn by the PAD according to the package name and icon of the target application in the full-screen window of the PAD. The motion effect window does not include a specific application running interface. The size of the motion effect window can be a default value or can be related to the resolution of the PAD, etc. This embodiment of the application does not make specific limitations. For example, the user continues to drag the action, such as Fig. 9 As shown, the reduced full-screen window 801 disappears, the dynamic effect window 901 drawn by the PAD is displayed, and the wallpaper mask 802 is displayed under the dynamic effect window.
[0140] It should be noted that stage (1) can be a very short time, after which the reduced full-screen window disappears, the surface of the target application is hidden, and stage (1) can no longer be executed. After stage (1), the multi-window surface controller can query the value of the drag state at a certain period. If the drag state is found to be the second value, stage (2) is executed. In stage (2), the cursor can be displayed on the top of the animation window, and the animation window moves with the cursor. In this way, the user can experience the smooth process of the full-screen window from shrinking to following the dragging movement in a continuous drag operation, thereby improving the user experience.
[0141] In the execution phase (2), the user continues to drag the animation window 901 to the edge of the PAD screen. Fig.10 As shown, the portion of the motion effect window 901 that exceeds the edge of the PAD screen is not displayed, and the portion of the motion effect window 901 that does not exceed the edge of the PAD screen is displayed.
[0142] S609: The keyboard and mouse module of the PAD indicates to the virtual input management that a mouse crossing occurs.
[0143] During the dragging operation, the keyboard and mouse module of the PAD can detect the movement status of the mouse in real time, so that when the mouse crosses the edge of the PAD display screen, the keyboard and mouse module of the PAD can monitor the occurrence of mouse crossing, and the keyboard and mouse module of the PAD can indicate the occurrence of mouse crossing to the virtual input management.
[0144] When the keyboard and mouse module of the PAD detects that the mouse has crossed, the virtual input management and the keyboard and mouse module of the PAD can first determine whether the drag state is the second value. If the drag state is the second value, the keyboard and mouse module of the PAD and the virtual input management can both update the drag state to the third value, and the keyboard and mouse module of the PAD can also synchronously indicate the display window to the PC. If the drag state is not the second value, the keyboard and mouse module of the PAD and the virtual input management may not update the drag state, and the keyboard and mouse module of the PAD may not indicate the display window to the PC.
[0145] It should be noted that the multi-window surface controller can continuously query the value of the drag status according to a certain period. If the drag status is updated to a third value, the multi-window surface controller can stop drawing the animation window and continue drawing the wallpaper mask, so that the wallpaper is displayed in the PAD instead of the animation window, so that the user experiences the effect of the target application being dragged away.
[0146] S610: The virtual input management instructs the multi-window gesture management to transfer the mouse to the PC.
[0147] S611. The multi-window gesture management shields (drops) all gesture events received on the PAD screen.
[0148] After receiving the instruction that the mouse has crossed to the PC, the multi-window gesture management can shield all gesture events received on the PAD screen. In this way, when the PAD screen receives the user's click and other operations, the PAD does not respond and does not interrupt the execution process of dragging the full-screen window. For example, after the mouse crosses from the PAD to the PC, if the user clicks, touches, slides, etc. on the PAD screen, the PAD does not jump, but continues to display the wallpaper mask.
[0149] S612: The keyboard and mouse module of the PAD indicates a display window to the keyboard and mouse module of the PC.
[0150] It should be noted that S612 can be executed synchronously with S609. For example, after the mouse crosses from the PAD to the PC, if the keyboard and mouse module of the PAD determines that the drag state is the second value, the keyboard and mouse module of the PAD indicates to the virtual input management that the mouse crosses, and indicates to the keyboard and mouse module of the PC that the window is displayed.
[0151] Furthermore, the PC can draw a motion effect window. The motion effect window in the PC can be understood as a motion effect window drawn by the PC according to the package name and icon of the target application in the full-screen window of the PAD. The motion effect window does not include a specific application running interface. The size of the motion effect window can be a default value or can be related to the resolution of the PAD, etc., and the embodiments of the present application do not make specific limitations.
[0152] During the drag operation, the part of the PC's animation window that exceeds the edge of the PC screen is not displayed, and the part of the PC's animation window that does not exceed the edge of the PC screen is displayed. As the drag operation continues, the animation window can be fully displayed on the PC, such as Fig.11 It shows a schematic diagram of an interface in which a wallpaper mask 802 is displayed in a PAD and a complete motion effect window 1101 of a PC is displayed in a PC.
[0153] It should be noted that when the mouse passes from the PAD to the PC, the initial display position of the animation window in the PC can be implemented differently.
[0154] In a possible implementation, when the mouse passes from the PAD to the PC, a full-screen window can be dragged out from the PAD and a PC animation window can be displayed on the PC, with the position of the PC display edge and the PAD dragged edge being not much different.
[0155] For example, the PC can calculate the coordinates (x0, y0) after the cursor passes through, and then the keyboard and mouse module of the PC can set the coordinates of the left vertex of the animation window to (x1, y0±a), where x1 can be a value preset by the PC, x1 can be used to define the distance between the left vertex of the animation window and the right screen edge of the PC, and a can be a smaller value, because the vertical coordinate of the left vertex of the animation window of the PC is the same as or not much different from the vertical coordinate of the cursor, so that when a full-screen window is dragged out from the PAD and the animation window of the PC is displayed on the PC, the position of the PC dragged-in edge and the PAD dragged-out edge are not much different, for example, combined with Fig.10 , when the dynamic effect window 901 is dragged out from the upper 1 / 3 of the PAD screen edge, Fig.11 As shown, the PC's animated window 1101 can come out from the upper 1 / 3 of the PC screen edge, so that the user can get the experience of dragging the window from the PAD to the PC smoothly without any lag.
[0156] Among them, one way for the PC to calculate the coordinates (x0, y0) after the cursor passes through is: when the PAD and PC keyboard and mouse are interconnected, their respective screen heights are exchanged with each other, so that the mapping relationship between the height of the PAD and the height of the PC is saved in both the PC and the PAD. When the mouse passes from the PAD to the PC, the keyboard and mouse module of the PAD can send the position where the mouse passes to the keyboard and mouse module of the PC, and the keyboard and mouse module of the PC can calculate the coordinates (x0, y0) after the crossing based on the position where the mouse passes and the mapping relationship.
[0157] In another possible implementation, when the mouse passes from the PAD to the PC, the effect of the user dragging the draggable area of the PC's animation window to drive the PC's animation window to move can be presented. For example, the keyboard and mouse module of the PC can set the coordinates of the cursor to the coordinates of any position in the draggable area of the PC's animation window, so that the cursor can be displayed in the draggable area of the PC's animation window, and the effect of the user dragging the draggable area of the PC's animation window to drive the PC's animation window to move can be presented in the PC (not shown in the figure).
[0158] It should be noted that the above Figure 6 The order of the steps shown can be adjusted according to the specific scenario. Figure 6 The steps shown may also be deleted or added in combination with specific scenarios, and not all steps must be performed.
[0159] exist Figure 6 The drag operation shown continues, causing the mouse to pass from the PAD to the PC. There are two situations: Situation 1: The user releases the mouse on the PC, the drag operation ends, and the content of the PAD full-screen window is triggered to be projected on the PC; Situation 2: The user does not release the mouse on the PC, the drag operation continues, and the mouse passes from the PC back to the PAD. The animation window in the PC is no longer displayed, and the animation window in the PAD is displayed again.
[0160] Combine the following Fig.12 The example shows a schematic diagram of the interaction flow of each module in the PAD and PC software system in the above-mentioned case 1 and case 2.
[0161] like Fig.12 As shown, situation one may include S613-S616, specifically:
[0162] S613: The keyboard and mouse module of the PC instructs the keyboard and mouse module of the PAD to release the mouse (mouse release).
[0163] When the user releases the mouse in the PC and ends the drag operation, the keyboard and mouse module of the PC can monitor the mouse up event, and the keyboard and mouse module of the PC can send a mouse up event to the keyboard and mouse module of the PAD to indicate that the mouse is released. Subsequently, the keyboard and mouse module of the PAD can inject the mouse up event into the FrameWork of the PAD, for example, to execute S614 and S615.
[0164] S614: The keyboard and mouse module of the PAD instructs the virtual input management to release the mouse.
[0165] In response to the received mouse UP event, the keyboard and mouse module of the PAD may update the drag state to the first value, indicating that the drag operation is ended. Suitably, the virtual input management may update the drag state to the first value.
[0166] S615: The virtual input management indicates the mouse release to the multi-window surface controller.
[0167] It is understandable that during the above process of the user pressing and dragging the mouse, if the mouse passes from the PAD to the PC and the mouse is not released, the window of the target application is hidden at the edge of the PAD and is invisible to the user. The multi-window surface controller draws the wallpaper mask, and what the user sees on the PAD is the wallpaper mask drawn by the multi-window surface controller.
[0168] In a common implementation of Android, when the multi-window surface controller receives an indication of mouse release (e.g., a mouse up event), it can release the wallpaper mask (or understand that the wallpaper mask is no longer drawn) and restore the surface (Surface) of the target application to be visible. If the target application is in application column mode, the application column mode is also switched to full screen mode.
[0169] This will cause the target application on the PAD to recover from edge hiding to full-screen window display. Since it usually takes some time for the PC to pull up the heterogeneous screen projection, although the heterogeneous screen projection in the PC can pull up the projection window at this time, the content of the target application cannot be displayed in the projection window (for example, the projection window can display the projection animation preset by the PC, etc.), so that the user sees the target application on the PAD in full screen, but no target application content is displayed on the PC. The display of heterogeneous screen projection from PAD to PC that users usually know is: before the projection window on the PC displays the target application content, the target application on the PAD is not displayed (for example, the PAD displays the projection animation, etc.), so the above Android implementation usually leads to a situation that does not meet the user's usual experience.
[0170] To solve this problem, if the process of the target application is killed, the target application will be invisible on the PAD, but the target application needs to run in heterogeneous screen projection. Killing the process of the target application will make heterogeneous screen projection impossible.
[0171] Therefore, in the embodiment of the present application, when the virtual input management instructs the multi-window surface controller to release the mouse, the virtual input management can also synchronously draw a wallpaper mask, the content of which can be consistent with the content of the wallpaper mask drawn by the multi-window surface controller, but the level of the wallpaper mask is higher than the level of the full-screen window, so that the layer where the wallpaper mask is located can be located on the surface (Surface) of the target application. In this way, although the surface (Surface) of the target application in the PAD is restored to be visible, the full-screen window of the target application is covered by the wallpaper mask of the higher level, so the wallpaper is still displayed in the PAD, and the user does not perceive the process of the window of the target application switching to full screen in the PAD, which is in line with the user's usual heterogeneous screen projection experience.
[0172] S616. The keyboard and mouse module of the PC instructs the screen projection module of the PC to start heterogeneous screen projection.
[0173] After the multi-window surface controller releases the wallpaper mask, restores the target application surface to visible state, and switches the target application to full-screen mode, the multi-window surface controller can instruct the screen projection to start. For example, the multi-window surface controller can instruct the keyboard and mouse module of the PAD to start screen projection through multi-display management and virtual input management, and further, the keyboard and mouse module of the PAD instructs the keyboard and mouse module of the PC to start screen projection, and further, the keyboard and mouse module of the PC instructs the screen projection module of the PC to start screen projection, wherein the screen projection is heterogeneous screen projection.
[0174] After the PC's screen projection module starts heterogeneous screen projection, the PC's screen projection module can instruct the PAD's multi-display management to start stack shifting. After receiving the instruction to start stack shifting, the PAD's multi-display management can create a virtual display (Display), and can also shift the target application's task (task) from the main screen to the virtual display, and send the virtual Display's data to the PC, so that the application in the full-screen window can be displayed in full screen projection on the PC.
[0175] It should be noted that after the PC's screen projection module starts heterogeneous screen projection, the display of the animation window can be canceled in the PC and the projection window can be pulled up, wherein the size of the projection window can be greater than or equal to the size of the animation window, the display area of the projection window can cover the area of the animation window, or the center position of the projection window can be the same as or not far from the center position of the animation window.
[0176] After the PC obtains the virtual display data, the PC can display the screen content of the PAD in the screen projection window. This allows the full-screen window of the PAD to be dragged to the PC, making it convenient to project the screen from different sources on the PC.
[0177] It can be understood that in the above-mentioned heterogeneous screen projection stack, after the multi-display management of the PAD completes the stack shift, the multi-display management in the PAD can also instruct the virtual input management to clean up the wallpaper, and the virtual input management ends the drawing of the wallpaper mask (or is understood as the wallpaper mask of the virtual input management exits), so that the desktop can be displayed in the PAD.
[0178] In addition, the multi-window gesture management can unblock all gesture events (or restore mouse event consumption), so that the PAD can monitor mouse events, and the user can continue to control the PAD using fingers and / or mouse.
[0179] For example, Fig.13 The schematic diagram shows that after the user releases the mouse on the PC, the calculator APP in the PAD is projected on the PC by a different source. Among them, the PC can display the full screen window of the calculator APP in the projection window 1300. It can be understood that because in the different source projection, the PAD transmits the data of the virtual display to the PC, and the data displayed by the PAD is not the data of the virtual display, so the content displayed by the PAD can be different from the content displayed in the projection window of the PC.
[0180] Optional, in Fig.13 As shown, a control 1301 can also be displayed in the projection window of the PC, and the control 1301 can be called a home button. When the home button is triggered, the heterogeneous projection of the PC and the PAD can be switched to the same source projection. At this time, the PAD sends the relevant data displayed in the PAD to the PC, so that the PC displays the relevant data displayed in the PAD in the projection window. For example, Fig.14 As shown, after switching to same-source screen projection, the content displayed in the PC's screen projection window 1300 is the same as the content displayed on the PAD, thereby conveniently realizing the switch from heterogeneous screen projection to same-source screen projection.
[0181] like Fig.12 As shown, situation 2 may include S620-S623, specifically:
[0182] S620: The keyboard and mouse module of the PAD instructs the keyboard and mouse module of the PC to pass the mouse back to the PAD.
[0183] During the dragging operation, the mouse may pass through the edge of the PC display screen to the PAD, and the keyboard and mouse module of the PAD can detect that the mouse passes back to the PAD.
[0184] When the mouse is transferred from the PC back to the PAD, the keyboard and mouse module of the PAD may determine whether the dragging state is the third value. If the dragging state is the third value, the keyboard and mouse module of the PAD may update the dragging state to the second value.
[0185] S621. The keyboard and mouse module of the PAD instructs the virtual input management to pass the mouse back to the PAD.
[0186] After the virtual input management receives the indication that the mouse passes back to the PAD, the virtual input management may determine whether the drag state is the third value. If the drag state is the third value, the virtual input management may update the drag state to the second value.
[0187] S622: The virtual input management instructs the multi-window gesture management to return the mouse to the PAD.
[0188] Multi-window gesture management can unblock all gesture events, allowing mouse events to be monitored in PAD.
[0189] In addition, the virtual input management also instructs the multi-window surface controller that the mouse passes back to the PAD, triggering the multi-window surface controller to draw the motion effect window of the PAD, and draw the wallpaper mask under the motion effect window of the PAD. For example, after the virtual input management instructs the multi-window surface controller that the mouse passes back to the PAD, the multi-window surface controller queries the drag state value as the second value, then the multi-window surface controller draws the motion effect window of the PAD, and draws the wallpaper mask under the motion effect window of the PAD.
[0190] It is understandable that when the multi-window surface controller draws the dynamic window of the PAD and draws the wallpaper mask under the dynamic window of the PAD, the surface of the target application is still hidden and the user cannot see the window of the target application in the PAD.
[0191] When the subsequent drag operation continues on the PAD, the PAD can realize the movement of the PAD's dynamic window position with the cursor based on the drag logic of the Android full-screen application.
[0192] It should be noted that, when the PC's animation window is continuously dragged to the PAD in the PC, the portion of the PC's animation window that exceeds the edge of the PC screen is not displayed, and the portion of the PC's animation window that does not exceed the edge of the PC screen is displayed. Fig.15 As shown, when the cursor drags the PC's animation window 1101 close to the edge of the screen (the cursor does not pass back to the PAD), the multi-window surface controller in the PAD can draw a wallpaper mask, the wallpaper can be displayed in the PAD, and the PC's animation window portion of the animation window 1101 is displayed in the PC. A schematic diagram of the interface of the animation window 1101, as the dragging operation proceeds, the mouse passes back from the PC to the PAD.
[0193] After the mouse passes from PC back to PAD, the dynamic window in PAD is displayed, and the dynamic window display of PC is canceled in PC, such as Fig.16 A schematic diagram of an interface showing a PAD motion effect window 901 in a PAD and canceling the PC motion effect window display in a PC is shown.
[0194] It should be noted that when the mouse passes from the PC to the PAD, the initial display position of the animation window in the PAD can be implemented differently.
[0195] In a possible implementation, when the mouse passes from the PC to the PAD, a dynamic window can be dragged out from the PC and the dynamic window of the PAD is displayed on the PAD, and the position of the PAD display edge and the PC dragged edge are not much different.
[0196] For example, PAD can calculate the coordinates (x2, y2) after the cursor passes through, and then the keyboard and mouse module of PAD can set the coordinates of the right vertex of the animation window to (x3, y2±a), where x3 can be a preset value of PAD, x3 can be used to define the distance between the right vertex of the animation window and the left screen edge of PAD, and a can be a smaller value, because the vertical coordinate of the right vertex of the animation window of PAD is the same as or not much different from the vertical coordinate of the cursor, so that when the animation window is dragged out from PC and displayed on PAD, the position of the PAD dragged-in edge and the PC dragged-out edge are not much different, for example, combined with Fig.15 , when the dynamic effect window 1101 is dragged out from the upper 1 / 3 of the PC screen edge, as Fig.16 As shown, the dynamic effect window 901 of the PAD can penetrate from the upper 1 / 3 of the edge of the PAD screen, so that the user can get the experience of dragging the window from the PC to the PAD smoothly without any lag.
[0197] Among them, one way for the PAD to calculate the coordinates (x2, y2) after the cursor passes through is: when the PC and PAD keyboard and mouse are interconnected, their respective screen heights are exchanged with each other, so that the mapping relationship between the height of the PC and the height of the PAD is saved in both the PAD and the PC. When the mouse passes from the PC to the PAD, the keyboard and mouse module of the PC can send the position where the mouse passes to the keyboard and mouse module of the PAD, and the keyboard and mouse module of the PAD can calculate the coordinates (x2, y2) after the crossing based on the position where the mouse passes and the mapping relationship.
[0198] In another possible implementation, when the mouse passes from the PC to the PAD, the effect of the user dragging the draggable area of the PAD's animation window to drive the PAD's animation window to move can be presented. For example, the keyboard and mouse module of the PAD can set the coordinates of the cursor to the coordinates of any position in the draggable area of the PAD's animation window, so that the cursor can be displayed in the draggable area of the PAD's animation window, and the effect of the user dragging the draggable area of the PAD's animation window to drive the PAD's animation window to move can be presented in the PAD (not shown in the figure).
[0199] It is understandable that if the mouse is released after it passes back from the PC to the PAD and the dragging operation ends, the PAD can exit the dragging animation-related process, clean up the data, and restore the full-screen window display. This embodiment of the present application does not make specific limitations.
[0200] It should be noted that the above Fig.12 The order of the steps shown can be adjusted according to the specific scenario. Fig.12 The steps shown may also be deleted or added in combination with specific scenarios, and not all steps must be performed.
[0201] The above exemplifies the software interaction process of the full-screen window dragging method of the present application in combination with the various software modules in the PAD and the PC. The following will continue to explain in detail the full-screen window dragging method of the embodiment of the present application in combination with the step flow.
[0202] For example, Fig.17 A schematic diagram of a process for dragging a full-screen window provided in an embodiment of the present application is shown.
[0203] The full-screen window dragging method of the embodiment of the present application can be applied to a communication system, which includes a first electronic device installed with a first operating system and a second electronic device installed with a second operating system, the first electronic device or the second electronic device is connected to an input device, and the first operating system is different from the second operating system.
[0204] The communication system can refer to Figure 1 and Figure 2 For the description of the first electronic device and the second electronic device, reference can be made to the description of the above embodiments and no further details are given.
[0205] like Fig.17 As shown, the method includes:
[0206] S1701. The first electronic device displays a first cursor and a full-screen window of a first application, where the first cursor is located on the full-screen window.
[0207] For example, S1701 may correspond to Figure 7 The first cursor may correspond to the cursor in the interface, and no further description is given. It can be understood that in the embodiment of the present application, the first application may correspond to the target application of the above embodiment, and the first application may be any application without limitation.
[0208] S1702: When the user uses an input device to control a first cursor to select and drag the full-screen window, the first electronic device displays a reduced full-screen window.
[0209] For example, S1702 may correspond to Figure 8 Description of the display interface.
[0210] S1703. When the first cursor drags the full-screen window to the first position, the first electronic device displays the wallpaper and displays the first motion effect window at the first position, and stops displaying the full-screen window. The first motion effect window includes a first identifier of the first application. The first motion effect window is located on an upper layer of the wallpaper, and a size of the first motion effect window is smaller than a size of the full-screen window.
[0211] In the embodiment of the present application, after the first electronic device briefly displays the reduced full-screen window, it can display the first dynamic effect window. The first dynamic effect window can be understood as a dynamic effect window displayed in the first electronic device. The first dynamic effect window includes a first identifier of the first application. The first identifier includes, for example, an icon and / or name of the first application. The first position can be any position in the display screen of the first electronic device. Exemplarily, S1703 can correspond to Fig. 9 According to the relevant description, the first motion effect window may be motion effect window 901.
[0212] S1704. During the process of the first cursor dragging the first animation window, when the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, the first electronic device displays the wallpaper and stops displaying the first animation window, and the second electronic device displays the second animation window dragged by the first cursor, and the second animation window includes the second identifier of the first application.
[0213] In the embodiment of the present application, the second motion effect window can be understood as a motion effect window displayed in the second electronic device, and the second motion effect window includes a second identifier of the first application, and the second identifier includes, for example, an icon and / or a name of the first application. It is understandable that the first identifier and the second identifier can be the same or different, as long as they can identify the first application. The sizes of the first motion effect window and the second motion effect window can be the same or different, without limitation.
[0214] For example, S1704 may correspond to Fig.10 and Fig.11 According to the relevant description, the second animation window may be animation window 1101.
[0215] S1705. During the process of dragging the second motion effect window by the first cursor, when it is detected that the user releases the first cursor at the second position through the input device, the second electronic device displays the projection window at the second position and stops displaying the second motion effect window. When part or all of the content of the full-screen window is not displayed in the projection window of the second electronic device, the first electronic device displays the wallpaper and sets the layer where the full-screen window is located to the lower layer of the wallpaper.
[0216] In the embodiment of the present application, the second position may be any position in the display screen of the second electronic device. The projection window may be a window in the second electronic device for displaying the projection content of the first application.
[0217] It is understandable that it takes some time for the second electronic device to pull up the projection window and display the content of the first application in the projection window. During this period of time, the projection window of the second electronic device may display projection animation or a black screen mask, etc. Displaying wallpaper in the first electronic device can prevent the user from being aware of the process of the window of the first application switching to full screen in the first electronic device, which is in line with the user's usual heterogeneous projection experience. The specific implementation can refer to the relevant description in S615 and will not be elaborated on.
[0218] In the embodiment of the present application, after dragging the full-screen window of the first electronic device to the second electronic device, the process of heterogeneous screen projection can be supported in the second electronic device, thereby increasing the richness of device interaction. Moreover, during the period between when the user releases the mouse in the second electronic device and when the real screen projection content is displayed in the screen projection window of the second electronic device, the wallpaper is displayed in the first electronic device, so that the user does not perceive the process of the window of the first application switching to full screen in the first electronic device, thereby improving the user experience.
[0219] It is understandable that in Fig.17 Based on the embodiments of the present application, there are some possible implementations of the embodiments, and each possible implementation may also correspond to some expressions in the above embodiments, and similar contents will not be repeated here.
[0220] In one possible implementation, after S1705, the method of the embodiment of the present application further includes: when part or all of the content of the full-screen window is displayed in the projection window, the first electronic device stops displaying the wallpaper and displays the desktop.
[0221] Exemplarily, this step may correspond to Fig.13 In this way, after implementing heterogeneous screen projection in the second electronic device, the first electronic device can support the user to implement other functions.
[0222] In one possible implementation, when the second electronic device detects that the user releases the first cursor at the second position through the input device, the second electronic device also sends a cursor release event to the first electronic device; in response to the cursor release event, the first electronic device also moves the stack; after the first electronic device completes the stack shift, part or all of the content of the full-screen window is displayed in the projection window, and the first electronic device stops displaying the wallpaper.
[0223] For example, the cursor release event may correspond to the mouse up event mentioned above. Fig.12 The description of situation 1 is omitted here.
[0224] In one possible implementation, the first electronic device includes a first module and a second module; the first module and the second module are different; when the first cursor drags the full-screen window to the first position, the first module draws the first motion effect window and draws the wallpaper of the lower layer of the first motion effect window; when the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, the first module draws the wallpaper and does not draw the first motion effect window; in response to a cursor release event, the first module ends drawing the wallpaper, and the second module draws the wallpaper located on the upper layer of the full-screen window; after part or all of the content of the full-screen window is displayed in the projection window, the second module ends drawing the wallpaper.
[0225] In the embodiment of the present application, the first module can implement the function of the multi-window surface controller in the above embodiment, and the second module can implement the function of the virtual input management in the above embodiment. Figure 6 and Fig.12 The description of the corresponding embodiments is omitted here.
[0226] In one possible implementation, the second module maintains a drag state value, and the drag state value includes a first value, a second value and a third value; when the user controls the first cursor through an input device to select and drag the full-screen window, the second module updates the drag state value from the first value to the second value; when the first cursor drags the full-screen window to the first position, the first module queries that the drag state value is the second value, the first module draws the first animation window, and draws the wallpaper under the first animation window; when the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, the second module updates the drag state value from the second value to the third value, the first module queries that the drag state value is the third value, the first module draws the wallpaper, and does not draw the first animation window; in response to a cursor release event, the second module updates the drag state value from the third value to the first value.
[0227] The maintenance of the drag state can be specifically referred to Figure 6 and Fig.12 The description of the corresponding embodiments is omitted here.
[0228] In one possible implementation, when the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, if the first electronic device determines that the value of the drag state is a second value, the first electronic device also sends information for indicating a display window to the second electronic device; the second electronic device displays the second animation window dragged by the first cursor, including: in response to the information for indicating the display window, the second electronic device displays the second animation window dragged by the first cursor.
[0229] In the embodiment of the present application, by setting the drag state, when the mouse crosses, the electronic device can determine whether the mouse crosses when there is no drag event (for example, the user does not press the mouse, but only moves the mouse to cross between electronic devices), or when there is a drag event, the cursor drags the window to cross (for example, the user presses the mouse in the full-screen window, and moves the mouse to drag the full-screen window to cross between electronic devices). For details, please refer to Figure 6 and Fig.12 The description of the corresponding embodiments is omitted here.
[0230] In one possible implementation, the first electronic device stops displaying the full-screen window, including: the first module sets the display property of the first application to hidden; in response to a cursor release event, the first module also sets the display property of the first application to visible, and sets the first application to full-screen mode.
[0231] In the embodiment of the present application, the display attribute of the first application can be used to set the visibility or hiding of the first application. For example, the display attribute can include the above-mentioned surface. The setting of the display attribute can be specifically referred to Figure 6 and Fig.12 The description of the corresponding embodiments is omitted here.
[0232] In one possible implementation, when the user controls the first cursor to select the draggable area of the full-screen window by pressing the input device, the first electronic device monitors the gesture press event; the first electronic device registers an input monitor based on the gesture press event, and the input monitor is used to monitor the movement event of the draggable area.
[0233] The specific implementation of this process can refer to Figure 6 and Fig.12 The description of the corresponding embodiment is omitted. In this way, when the subsequent drag operation continues, the cursor move event can be monitored through the task locator, and there is no need to call the moving task every time, saving computing resources.
[0234] In a possible implementation, when the first electronic device monitors the first movement event of the draggable area, the first electronic device sends the identification information of the first application to the second electronic device, and the identification information includes: application package name, application name and / or application icon. In this way, when the cursor subsequently drags the full-screen window from the first electronic device to the second electronic device, the second electronic device can promptly draw the dynamic effect window based on the application package name, application name and / or application icon, so that the user can have the experience of dragging the floating window to the second electronic device.
[0235] In a possible implementation, when the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, the first electronic device also shields the gesture event in the first electronic device; when the first electronic device completes the stack shift, the first electronic device also unshields the gesture event in the first electronic device. In this way, when the screen of the first electronic device receives an operation such as a click by the user, the first electronic device does not respond and does not interrupt the execution process of dragging the full-screen window.
[0236] In a possible implementation, the method of the embodiment of the present application further includes: during the process of the first cursor dragging the second motion effect window, when the first cursor moves from the second screen edge of the second electronic device to the first screen edge of the first electronic device, the first electronic device displays the first motion effect window dragged by the first cursor, the first motion effect window is located on the upper layer of the wallpaper, and the second electronic device stops displaying the second motion effect window. In this way, it can support the user to drag the full screen window of the first electronic device to the second electronic device, and it can also support the full screen window to be dragged from the second electronic device back to the first electronic device, enriching the device interaction scene.
[0237] It should be noted that the module names involved in the embodiments of the present application can be defined as other names as long as the functions of each module can be achieved, and there is no specific restriction on the names of the modules.
[0238] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in the embodiments of the present application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0239] The full-screen window dragging method of the embodiment of the present application has been described above, and the device for executing the full-screen window dragging method provided by the embodiment of the present application is described below. Those skilled in the art can understand that the method and the device can be combined and referenced with each other, and the relevant device provided by the embodiment of the present application can execute the steps in the above-mentioned list sorting method.
[0240] In order to achieve the above functions, the device for implementing full-screen window dragging includes hardware structures and / or software modules corresponding to the execution of each function. It should be easily appreciated by those skilled in the art that, in combination with the method steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present application.
[0241] The embodiment of the present application can divide the functional modules of the device for implementing the full-screen window dragging method according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
[0242] like Fig.18 A schematic diagram of the structure of a chip provided in an embodiment of the present application. The chip 180 includes one or more (including two) processors 1801 , a communication line 1802 , a communication interface 1803 and a memory 1804 .
[0243] In some implementations, the memory 1804 stores the following elements: executable modules or data structures, or a subset thereof, or an extended set thereof.
[0244] The method described in the above embodiment of the present application can be applied to the processor 1801, or implemented by the processor 1801. The processor 1801 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware or software instructions in the processor 1801. The above processor 1801 can be a general-purpose processor (for example, a microprocessor or a conventional processor), a digital signal processor (digital signal processing, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC), a field-programmable gate array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gates, transistor logic devices or discrete hardware components. The processor 1801 can implement or execute the methods, steps and logic block diagrams related to each processing disclosed in the embodiment of the present application.
[0245] The steps of the method disclosed in the embodiment of the present application can be directly embodied as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. Among them, the software module can be located in a mature storage medium in the field such as a random access memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable read only memory (EEPROM). The storage medium is located in the memory 1804, and the processor 1801 reads the information in the memory 1804 and completes the steps of the above method in combination with its hardware.
[0246] The processor 1801 , the memory 1804 , and the communication interface 1803 may communicate with each other via the communication line 1802 .
[0247] In the above embodiments, the instructions stored in the memory for execution by the processor may be implemented in the form of a computer program product, wherein the computer program product may be pre-written in the memory, or may be downloaded and installed in the memory in the form of software.
[0248] The embodiment of the present application also provides a computer program product including one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a server or data center that includes one or more available media integrated. For example, the available medium can include a magnetic medium (e.g., a floppy disk, a hard disk or a tape), an optical medium (e.g., a digital versatile disc (digital versatile disc, DVD)), or a semiconductor medium (e.g., a solid state drive (solid state disk, SSD)), etc.
[0249] The present application also provides a computer-readable storage medium. The methods described in the above embodiments can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. Computer-readable media may include computer storage media and communication media, and may also include any medium that can transfer a computer program from one place to another. The storage medium may be any target medium that can be accessed by a computer.
[0250] As a possible design, the computer readable medium may include a compact disc read-only memory (CD-ROM), RAM, ROM, EEPROM or other optical disc storage; the computer readable medium may include a magnetic disk storage or other magnetic disk storage device. Moreover, any connection line may also be appropriately referred to as a computer readable medium. For example, if the software is transmitted from a website, server or other remote source using a coaxial cable, fiber optic cable, twisted pair, DSL or wireless technology (such as infrared, radio and microwave), the coaxial cable, fiber optic cable, twisted pair, DSL or wireless technology such as infrared, radio and microwave are included in the definition of medium. Disk and disc as used herein include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while optical discs reproduce data optically using lasers.
[0251] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processing unit of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
Claims
1. A full-screen window dragging method, characterized in that: Applied to a communication system, the communication system includes a first electronic device installed with a first operating system and a second electronic device installed with a second operating system, the first electronic device or the second electronic device is connected to an input device, the first operating system is different from the second operating system, and the method includes: The first electronic device displays a first cursor and a full-screen window of a first application, wherein the first cursor is located on the full-screen window; When the user controls the first cursor to select and drag the full-screen window through the input device, the first electronic device displays the reduced full-screen window; When the first cursor drags the full-screen window to a first position, the first electronic device displays the wallpaper, displays a first motion effect window at the first position, and stops displaying the full-screen window, wherein the first motion effect window includes a first identifier of the first application, is located on an upper layer of the wallpaper, and has a size smaller than that of the full-screen window; In the process of dragging the first motion effect window by the first cursor, when the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, the first electronic device displays the wallpaper, stops displaying the first motion effect window, and the second electronic device displays the second motion effect window dragged by the first cursor, and the second motion effect window includes the second identifier of the first application; During the process of the first cursor dragging the second motion effect window to move, when it is detected that the user releases the first cursor at the second position through the input device, the second electronic device displays the projection window at the second position and stops displaying the second motion effect window; When part or all of the content of the full-screen window is not displayed in the projection window of the second electronic device, the first electronic device displays the wallpaper and sets the layer where the full-screen window is located under the wallpaper.
2. The method according to claim 1, characterized in that The method further comprises: When part or all of the content of the full-screen window is displayed in the projection window, the first electronic device stops displaying the wallpaper and displays the desktop.
3. The method according to claim 2, characterized in that When detecting that the user releases the first cursor at the second position through the input device, the second electronic device further sends a cursor release event to the first electronic device; In response to the cursor release event, the first electronic device performs stack shifting; After the first electronic device completes the stack shift, part or all of the content of the full-screen window is displayed in the screen projection window, and the first electronic device stops displaying the wallpaper.
4. The method according to claim 3, characterized in that The first electronic device includes a first module and a second module; the first module and the second module are different; When the first cursor drags the full-screen window to the first position, the first module draws the first motion effect window and draws the wallpaper under the first motion effect window; When the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, the first module draws the wallpaper and does not draw the first motion effect window; In response to the cursor release event, the first module ends drawing the wallpaper, and the second module draws the wallpaper located on an upper layer of the full-screen window; After part or all of the content of the full-screen window is displayed in the projection window, the second module ends drawing the wallpaper.
5. The method according to claim 4, characterized in that The second module maintains a value of the drag state, and the value of the drag state includes a first value, a second value and a third value; When the user controls the first cursor to select and drag the full-screen window through the input device, the second module updates the value of the drag state from the first value to the second value; When the first cursor drags the full-screen window to the first position, the first module queries that the value of the dragging state is the second value, and the first module draws the first motion effect window and draws the wallpaper under the first motion effect window; When the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, the second module updates the value of the drag state from the second value to the third value, the first module queries that the value of the drag state is the third value, and the first module draws the wallpaper, and does not draw the first motion effect window; In response to the cursor release event, the second module updates the value of the drag state from the third value to the first value.
6. The method according to claim 5, characterized in that When the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, if the first electronic device determines that the value of the drag state is the second value, the first electronic device further sends information for indicating a display window to the second electronic device; The second electronic device displays the second animation window dragged by the first cursor, comprising: in response to the information for indicating a display window, the second electronic device displays the second animation window dragged by the first cursor.
7. The method according to any one of claims 4 to 6, characterized in that: The first electronic device stopping displaying the full-screen window comprises: the first module setting the display attribute of the first application to hidden; In response to the cursor release event, the first module also sets a display attribute of the first application to visible, and sets the first application to full screen mode.
8. The method according to any one of claims 1 to 7, characterized in that: When the user controls the first cursor to select the draggable area of the full-screen window by pressing the input device, the first electronic device monitors a gesture pressing event; The first electronic device registers an input monitor according to the gesture press event, where the input monitor is used to monitor the movement event of the draggable area.
9. The method according to claim 8, characterized in that When the first electronic device monitors the first movement event of the draggable area, the first electronic device sends identification information of the first application to the second electronic device, where the identification information includes: application package name, application name and / or application icon.
10. The method according to any one of claims 1 to 9, characterized in that: When the first cursor moves from the first screen edge of the first electronic device to the second screen edge of the second electronic device, the first electronic device also shields gesture events in the first electronic device; When the first electronic device completes stack shifting, the first electronic device also unshields gesture events in the first electronic device.
11. The method according to any one of claims 1 to 10, characterized in that: Also includes: During the process of the first cursor dragging the second motion effect window, when the first cursor moves from the second screen edge of the second electronic device to the first screen edge of the first electronic device, the first electronic device displays the first motion effect window dragged by the first cursor, the first motion effect window is located on the upper layer of the wallpaper, and the second electronic device stops displaying the second motion effect window.
12. A communication system, characterized in that: The communication system includes a first electronic device installed with a first operating system and a second electronic device installed with a second operating system, the first electronic device or the second electronic device is connected to an input device, the first operating system is different from the second operating system, the first electronic device executes the method executed by the first electronic device as described in any one of claims 1-11, or the second electronic device executes the method executed by the second electronic device as described in any one of claims 1-11.
13. An electronic device, characterized in that: include: Processor and memory; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the electronic device executes the method executed by the first electronic device as described in any one of claims 1-11, or executes the method executed by the second electronic device as described in any one of claims 1-11.
14. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the computer program implements the method performed by the first electronic device as described in any one of claims 1 to 11, or implements the method performed by the second electronic device as described in any one of claims 1 to 11.
15. A computer program product, characterized in that It includes a computer program, which, when executed, enables a computer to execute the method executed by the first electronic device as claimed in any one of claims 1 to 11, or to execute the method executed by the second electronic device as claimed in any one of claims 1 to 11.
Citation Information
Cited By
Interaction-based display method, and apparatus
WO2026149498A1