TW201227349A - Interface and system for manipulating thumbnails of live windows in a window manage - Google Patents
Interface and system for manipulating thumbnails of live windows in a window manage Download PDFInfo
- Publication number
- TW201227349A TW201227349A TW101107704A TW101107704A TW201227349A TW 201227349 A TW201227349 A TW 201227349A TW 101107704 A TW101107704 A TW 101107704A TW 101107704 A TW101107704 A TW 101107704A TW 201227349 A TW201227349 A TW 201227349A
- Authority
- TW
- Taiwan
- Prior art keywords
- thumbnail
- window
- content
- application window
- receiving
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
201227349 六、發明說明: 【發明所屬之技術領域】 本發明係關於視窗的縮圖,尤其係關於在—視窗管理 器中操作縮圖的介面與系統。 【先前技術】 電腦系統顯示許多視窗讓使用者可輸入資料、運用資 ^或啟用程序。若同時執行一個以上的應用程式,許多視 0能會顯示在電腦顯示器± ’每個視窗都對應至一應用 程式》任何-個應用程式也可有多個視窗。例如:若使用 =在文書處g程式内輸人文字,同時也在試算表程式内作 業’在顯示器上可能會開啟兩個視窗。視窗之一是文書處 理應用程式視窗,第二視窗則為試算表程式視窗。若使用 者額外在媒體播放程式應用程式上觀看視訊,則會有對應 至媒體播放程式應用程式的額外視窗。隨著啟用的應用程 式數量增加,顯示在電腦顯示器上的視窗數量也會增加。 同時使用多個應用程式的使用者通常會面臨顯示器上 有許多視ϋ,造成桌面上雜亂不堪,導致被雜亂的顯示器 混淆並且失望。例如:顯示器上有許多重疊視窗會在使用 者要完成不同應用程式内的工作時,讓使用者每次都要浪 =時間找尋所要的視窗。為了舒緩此問題,使用者可將視 囪縮到最小或完全退出應用程式,以便降低雜亂(以及顯示 器上視窗的數量)。不過,若視窗已經最小化,則使用者就 不再可以立即存取對應的應用程式。若需要在視窗已經最 小化的特定應用程式内採取動作,使用者必須先找出所要 的視窗’並且在找出視窗後開啟所要的視窗。此過程相當 耗時。類似地,若使用者完全退出應用程式來清除桌面的 201227349 混亂情況,則該應用程式就無法再度啟用。在此情況下, 、使用者必須重新啟動應用程式來完成所要的工作,這樣會 、 浪費更多時間。另外’若應用程式執行-個進行中的功能, 則在應用程式未啟用期間該功能會喪失。 通常’當應用程式視窗最小化,工作列按紐會顯示在 工作列上,指出該應用程式目前已啟用。雖紅作列按紐 可指示應用程式已啟用,不過工作列按紐中通常只有應用 权式的圖示或名稱。在無額外資訊之下,使用者必須開啟 視窗才能檢視視窗内容。不過,開啟與關閉視窗僅是要檢 查視窗内容(例如確定視窗的主體性),$樣會 '浪費時間與 精力,導致喪失效率與生產力。當啟用的應用程式數量以 及視窗數量增加,這個問題就會加劇,因為使用者必須開 啟與關閉視窗才能找到所要的視窗。 如此,業界内需要一種系統與方法,用於提供方便的 計畫存取,來運用視窗或應用程式縮圖並使用一種在縮圖 與縮圖内容顯示方面有彈性的方式來表示縮圖。另外,業 界=需要-種編程介面及方法,用於實施該編程介面以有 效管理與實施應用程式視窗及縮圖,並已彈性方式表示該 視窗與縮圖。 【發明内容】 本發明的態樣提供一種用於在顯示器上顯示一視窗的 介面、系統或方法,藉以處理上述一或多個議題。在此 &提供對應至-應用程式視窗的動態縮圖,纟中應用程 _ 式視窗中内容的修改會反映在對應的動態縮圖内。應用 程式視窗内I的修改可另即時反映在肖應的動態縮圖 201227349 【實施方式】 本說月書为早郎以幫助讀者閱讀。這些章節包含:簡 介、一般用途電腦環境、縮圖。 吾人注意到,在下列說明中揭示元件之間的許多連 接。吾人注意到,除非有指定,否則這些連接一般為直 接或間接,並且本說明書内並不受限於此。 簡介 A.靜態縮圖 在一方式中,縮圖可伴隨於該應用程式。有了縮圖, 可以顯示小版本的應用程式視窗,指出應用程式視窗的 原始内容,讓使用者識別視窗的大約内容。不過,這些 縮圖可能不提供更新的應用程式視窗内容。如此,若已 經對應用程式視窗做過修改,縮圖會過時並且不能提供 應用程式視窗實際内容的正確影像。如此,使用者難以 在不用開啟應用程式視窗本身的情況下正確識別所要的 應用程式視窗。 另外’縮圖缺乏顯示内容、放置、尺寸以及/或效果方 面的彈性。應、隸式視窗的縮圖提供應用程式視窗原始 内容的靜態影像。不過’不僅内容保持靜態並且可能過 時,而1縮圖的特性以及配置可能已預定並且無法根據 使用者在任何已知時間上的需求而改變。 電腦作業系 圖的軟體層, 統運用負責管理使用者介面物#,像是縮 並且提供使用者介面服務給軟體應用程 201227349 式。此軟體層可稱為「桌面視窗管理器(Desktop Wind〇w Manager,DWM)」。桌面視窗管理器(DWM)的呈現邏輯、 輸入事件路由以及應用程式程式設計介面(Αρι)會集合 起來具體實現使用者介面政策,其輪流定義作業系統的 整體使用者體驗。在呈現桌面時,DWM通常藉由直接 協調繪製在顯示晝面上,來處理晝面更新,像是視窗移 動。因此,若關閉或移開重疊的視窗,則必須重新繪製 新顯示的下層視窗或桌面。這項處理相當緩慢,並且需 要浪費相當多時間與資源。另外,當直接在特定位置上 繪製視窗並且在顯示器上如平常所完成的特定組態内, 對應的視窗影像會位於該特定位置與組態上。修改視窗 的位置或組態需要浪費大量資源來重新繪製影像。 B.動態縮圖 在本發明的其他態樣内,提供一種介面、系統及方法, 用於在顯示器上顯示縮圖,其中桌面視窗管理器(DWM) 提供一登錄來源視窗以及目的地視窗的應用程式編程介 面(API)。在此範例中,目的地視窗為其中可呈現縮圖的 視窗。呈現在目的地視窗内的縮圖可表示至少部分對應 的來源視窗。因此,藉由提供被繪製到至少部分目的地 視由内之至少部分來源視窗,縮圖可表示來源視窗與目 的地視窗之間的關聯。DWM可接收對應至來源視窗的 視窗代碼(windows handle,HWND)以及對應至目的地視 窗的HWND。應用程式可另接收一代碼,其呈現對應至 來源視窗的縮圖登錄。 201227349 在本發明的其他態樣内,提供一種介面、系統及方法, 用於在顯不上顯示縮圖,其中桌面視窗管理器 更新或修改對應的來源視窗伴隨之縮圖。在此範例中, DWM可接收疋義目的地視窗大小的資料、當成縮圖繪 製到目的地視窗内的來源視窗區域、縮圖的不透明度、 縮圖的可見度、縮圖的特效等等。 本發明的進一步態樣另提供一種動態縮圖,其包含輸 出一應用程式編程介面來登錄一縮圖代碼、維護縮圖登 錄β早、根據來源視窗繪製縮圖或目的地視窗,其中來 源視®可為應用程式視窗、縮圖的更新特性以及移除登 錄動態縮圖。另,修改來源視窗會自動處理,以便在目 的地視窗内產生對應的修改。 吾人注意到,在下列說明中揭示元件之間的許多連 接。吾人注意到,除非有指定,否則這些連接一般為直 接或間接’並且本說明書内並不受限於此。 本發明的態樣提供一種應用程式編程介面(ΑΡΙ)、系統 以及方法’用於控制顯示元件的顯示,像是視窗或其他 視窗的表示,像是顯示器上的縮圖。在本發明的一個範 例中,另外的應用程式視窗版本類似於應用程式的縮小 版本’並且顯示在顯示器上。應用程式視窗的縮小版本 可另顯示在顯示器上一位置内,這個位置不同於原始應 用程式視窗。另外’原始應用程式視窗可最小化,如此 就不會顯示原始應用程式視窗,而應用程式視窗縮小版 本會顯示在顯示器上。另外,應用程式視窗的縮小版本 8 201227349 如右要在顯示器上有額外空間時。當 應用程式視窗的另外 ^ 卜版本可為說明的應用程式視窗縮小 本,吾人注意到,根據使用者的需求’應用程式視窗 、另外版本可大於原始應用程式視窗或任何其他大小。 丨如.應用程式視窗的另外版本可為應用程式視窗的 縮圖’缩圖通常為小影像或較大圖形的表示,或較大影 、的αΡ刀,對應至應用程式視窗。縮圖也可表示來源 *囪之間的關聯、提供縮圖的來源或内容,以及可為視 肉的目的地視窗,其中縮圖提供來自來源視窗的内容。 縮圖提供在傳統格式内—次顯示許多視窗,然而在顯示 器上使用的空間卻最小的優點。另外,縮圖可讓選擇與 排列影像與視窗更加容易。 在本發明的其他態樣,需要時應用程式視窗的縮圖或 另外版本可顯示在顯示器上。例如:將游標停在工作列 按紐上會喚起顯示應用程式視窗縮圖。在一個範例中, 縮圖為動態縮圖並且可隨原始應用程式視窗修改而修 文例如.對於應用程式視窗的變更會反映在對應至應 用程式視窗的動態縮圖内。例如這種變更可即時反映在 動態縮圖内》 在本發明的其他態樣内,縮圖或動態縮圖可安排在其 他視窗或目的地視窗内。例如:來自不同應用程式多個 動態縮圖可包含在目的地視窗,如此目的地視窗會顯示 來自每個不同應用程式的縮圖。另外,顯示在目的地視 窗内的任何動態縮圖可反映目前對應的應用程式視窗狀 9 201227349 I另外,縮圖可顯示在其他縮圖内或縮圖可串接,如 此第’縮圖可顯示在第二縮圖内,而第二縮圖可顯示在 第三縮圖内等等。 *仍舊在本發明的其他態樣内,提供一種準備晝面外視 窗的系統與方法。錢可達成在晝面上合成視窗,如此 節省電腦資源。另外’準備畫面外視窗並且在晝面上合 成視®可啟用本發明内說明的縮圖功能性❶ 一般用途計算環境 第1Α圖說明其上實施本發明的合適計算系統環境 1〇〇之範例。計算系統環境⑽只為合適計算環境的一 個範例,並不用於對本發明的使用或功能性領域做任何 限制。也不可將計算環境_解释成具有任何從屬物, 或與範例操作環境⑽内說明的任一組件或組件組合有 關之需求。 ,發明可用許多其他一般目的或特殊目的計算系統裝 壤境或組態來操作。本發明熟知適用的計算系統、環 境與/或組態範例包含,但不受 又限於個人電腦、伺服器電201227349 VI. Description of the Invention: [Technical Field] The present invention relates to a thumbnail of a window, and more particularly to an interface and system for operating a thumbnail in a window manager. [Prior Art] The computer system displays a number of windows for the user to input data, use the software, or enable the program. If more than one application is executed at the same time, many of the viewings can be displayed on the computer monitor. ± Each window corresponds to an application. Any application can have multiple windows. For example, if you use = to enter text in the program, and also work in the spreadsheet program, you may open two windows on the display. One of the windows is the document processing application window, and the second window is the spreadsheet window. If the user additionally watches the video on the media player application, there will be an additional window corresponding to the media player application. As the number of enabled applications increases, the number of windows displayed on the computer display also increases. Users who use multiple applications at the same time often face a lot of visuals on the display, causing messy desktops that can be confusing and disappointing with cluttered displays. For example, there are many overlapping windows on the display that let the user find the desired window every time when the user wants to complete the work in different applications. To alleviate this problem, the user can minimize or completely exit the application to reduce clutter (and the number of windows on the display). However, if the window has been minimized, the user will no longer have immediate access to the corresponding application. If an action needs to be taken within a particular application whose window has been minimized, the user must first find the desired window and open the desired window after finding the window. This process is quite time consuming. Similarly, if the user completely quits the application to clear the 201227349 mess of the desktop, the application can no longer be enabled. In this case, the user must restart the application to complete the desired work, which will waste more time. In addition, if the application executes - an ongoing function, the function will be lost while the application is not enabled. Usually 'when the application window is minimized, the taskbar button will appear on the taskbar, indicating that the application is currently enabled. Although the red button can indicate that the application is enabled, the work order button usually has only the icon or name of the application. Without additional information, the user must open the window to view the contents of the window. However, opening and closing the window is only to check the contents of the window (for example, to determine the subjectivity of the window), which will waste time and effort, resulting in loss of efficiency and productivity. This problem is exacerbated when the number of applications enabled and the number of windows increase, as the user has to open and close the window to find the desired window. As such, there is a need in the industry for a system and method for providing convenient program access to use a window or application thumbnail and to represent thumbnails in a manner that is flexible in the display of thumbnail and thumbnail content. In addition, the industry = a programming interface and method for implementing the programming interface to effectively manage and implement application windows and thumbnails, and to flexibly represent the window and thumbnail. SUMMARY OF THE INVENTION Aspects of the present invention provide an interface, system, or method for displaying a window on a display to process one or more of the above topics. Here, & provides a dynamic thumbnail corresponding to the -app window, and the changes in the content in the application window will be reflected in the corresponding dynamic thumbnail. The modification of I in the application window can be immediately reflected in the dynamic thumbnail of Xiao Ying 201227349 [Embodiment] The book of the month is for the reader to read. These chapters include: Introduction, General Purpose Computer Environment, and Thumbnails. It has been noted that many of the connections between the elements are disclosed in the following description. It has been noted that these connections are generally direct or indirect, unless otherwise specified, and are not limited in this specification. Introduction A. Static Thumbnails In one mode, thumbnails can be associated with the application. With thumbnails, you can display a small version of the application window, pointing out the original content of the application window, and letting the user recognize the approximate content of the window. However, these thumbnails may not provide updated application window content. Thus, if the application window has been modified, the thumbnail will be out of date and will not provide the correct image of the actual content of the application window. In this way, it is difficult for the user to correctly identify the desired application window without opening the application window itself. In addition, thumbnails lack the flexibility to display content, placement, size, and/or effects. The thumbnail of the collocation window provides a static image of the original content of the application window. However, not only does the content remain static and may be outdated, but the characteristics and configuration of the thumbnails may have been predetermined and cannot be changed according to the user's needs at any known time. The software layer of the computer operation system is responsible for managing the user interface object #, such as shrinking and providing user interface services to the software application 201227349. This software layer can be called "Desktop Wind〇w Manager (DWM)". The desktop logic manager (DWM)'s rendering logic, input event routing, and application programming interface (Αρι) are aggregated to implement user interface policies that define the overall user experience of the operating system in turn. When rendering a desktop, DWM typically handles face-to-face updates, such as window movements, by directly coordinating the rendering on the display surface. Therefore, if you close or remove overlapping windows, you must redraw the newly displayed lower window or desktop. This process is quite slow and requires considerable time and resources. In addition, when a window is drawn directly at a particular location and within a particular configuration that is normally completed on the display, the corresponding window image will be located at that particular location and configuration. Modifying the position or configuration of the window requires a lot of waste of resources to redraw the image. B. Dynamic Thumbnails In other aspects of the present invention, an interface, system, and method are provided for displaying thumbnails on a display, wherein a desktop window manager (DWM) provides an application for logging into a source window and a destination window Program programming interface (API). In this example, the destination window is a window in which thumbnails can be rendered. The thumbnail presented within the destination window may represent at least a portion of the corresponding source window. Thus, by providing at least a portion of the source window that is drawn to at least a portion of the destination view, the thumbnail can represent the association between the source window and the destination window. The DWM can receive a window code (HWND) corresponding to the source window and an HWND corresponding to the destination window. The application can additionally receive a code that renders a thumbnail login corresponding to the source window. 201227349 In other aspects of the invention, an interface, system, and method are provided for displaying a thumbnail without being displayed, wherein the desktop window manager updates or modifies a thumbnail of the corresponding source window. In this example, the DWM can receive data of the size of the destination window, the source window area drawn into the destination window, the opacity of the thumbnail, the visibility of the thumbnail, the special effects of the thumbnail, and the like. A further aspect of the present invention further provides a dynamic thumbnail image, comprising: outputting an application programming interface to log in a thumbnail code, maintaining a thumbnail registration β early, drawing a thumbnail according to a source window, or a destination window, wherein the source view® It can be used for application windows, thumbnail update features, and removal of login dynamic thumbnails. In addition, the Modify Source window will be processed automatically to produce the corresponding changes in the destination window. It has been noted that many of the connections between the elements are disclosed in the following description. It is noted that these connections are generally direct or indirect unless otherwise specified and are not limited in this specification. Aspects of the present invention provide an application programming interface (ΑΡΙ), system, and method for controlling the display of a display element, such as a representation of a window or other window, such as a thumbnail on a display. In one embodiment of the invention, another version of the application window is similar to the reduced version of the application' and is displayed on the display. The reduced version of the application window can be displayed in a different location on the display, which is different from the original application window. In addition, the original application window can be minimized so that the original application window is not displayed, and the reduced version of the application window is displayed on the display. In addition, the reduced version of the application window 8 201227349 is as follows when there is extra space on the display. When the other version of the application window can be reduced for the illustrated application window, we have noticed that the application window can be larger than the original application window or any other size depending on the user's needs. For example, another version of the application window can be a thumbnail of the application window. The thumbnail is usually a small image or a larger graphic representation, or a larger image, corresponding to the application window. Thumbnails can also represent the source * the association between the chimneys, the source or content of the thumbnails, and the destination window that can be the flesh, where the thumbnails provide content from the source window. Thumbnails provide the advantage of displaying many windows in a traditional format, but using minimal space on the display. In addition, thumbnails make it easier to select and arrange images and windows. In other aspects of the invention, thumbnails or additional versions of the application window may be displayed on the display as needed. For example, stopping the cursor on the taskbar button will evoke a thumbnail of the application window. In one example, the thumbnail is a dynamic thumbnail and can be modified as the original application window is modified. For example, changes to the application window are reflected in the dynamic thumbnail corresponding to the application window. For example, such a change can be immediately reflected in the dynamic thumbnail. In other aspects of the invention, the thumbnail or dynamic thumbnail can be arranged in other windows or destination windows. For example, multiple dynamic thumbnails from different applications can be included in the destination window so that the destination window displays thumbnails from each of the different applications. In addition, any dynamic thumbnail displayed in the destination window can reflect the current corresponding application window. 9 201227349 I In addition, the thumbnail can be displayed in other thumbnails or thumbnails can be concatenated, so the 'thumbnail can be displayed In the second thumbnail, the second thumbnail can be displayed in the third thumbnail and so on. * Still in other aspects of the invention, a system and method for preparing a faceted exterior window is provided. Money can be achieved by synthesizing windows on the surface, thus saving computer resources. In addition, the preparation of the off-screen window and the visualization on the face can be used to enable the thumbnail functionality described in the present invention. General Purpose Computing Environment The first diagram illustrates an example of a suitable computing system environment on which the present invention may be implemented. The computing system environment (10) is only one example of a suitable computing environment and is not intended to limit the scope of use or functionality of the present invention. Nor can the computing environment be interpreted as having any dependencies, or requirements related to any of the components or combinations of components described in the example operating environment (10). The invention can be operated with many other general purpose or special purpose computing system mounts or configurations. The present invention is well known to be applicable to computing systems, environments, and/or configuration examples, but is not limited to personal computers, server power
腦、手持式或膝上型裝置、多I 夕慝理态系統、微處理器式 糸統、可程式設計消費者雷早 Τ賈者電子裝置、網路pc、迷你電腦、 等等。 3 w彡統或裝置的分散式計算環境 請參閱第1A圖,實施本發 .^ *乃的說明系統包含形式上 為電腦110的一般用途計算奘番 人 。電腦Η 0的組件可包 s但不限於一個處理單元12〇、_ 個系統記憶體1 3 〇以 10 201227349 及可將包含系統記憶體的許多系統組件耦合到處理單元 120的系統匯流排121。系統匯流排121可以是許多種匯 流排結構,包含記憶體匯流排或記憶體控制器、週邊匯 流排以及使用許多匯流排架構任一的本機匯流排。藉由 範例並且不做限制,這種架構包含工業標準架構 匯流排,微通道架構(MCA)匯流排、強化型ISA (eisa) 匯流排、視訊電子標準協會(VESA)本機匯流排以及週邊 組件互連(PCI)匯流排,也就是已知的Mezzanine匯流排。 電腦110 —般包含許多電腦可讀取媒冑,電腦可讀取 媒體包含揮發與非揮發性媒體、可移除與不可移除的媒 體。藉由範例,但不受限於此,電腦可讀取媒體可包括 電腦儲存媒體以及通訊媒體,並且包含但不受限於 RAM、ROM、EEPR〇M、快閃記憶體或其他記憶體技術、 CD-ROM、數位多功能光碟(DVD)或其他光學碟片儲 存、磁帶、磁匣 '磁片儲存或其他磁性儲存裝置,或其 他任何可用於儲存所要資訊並且可由電腦11〇存取的 媒體。通訊媒體一般為電腦可讀取指令、資料結構、程 式模纪或其他調變資料信號内的資料,像是載波或其他 傳輸機制並且包含#何資訊傳遞㈣。「冑變資料信號」 一詞表示具有一或多個特徵集或以信號内編碼資訊這種 方式來變更的仏號。藉由範例並且不受限於此範例,通 訊媒體包含像疋有線網路或直接有線連線的有線媒體, '及像是聲θ、RF、紅外線以及其他無線媒體的無線媒 體。上述任何媒體的組合也應該包含在電腦可讀取媒體Brain, hand-held or laptop devices, multi-I-thinking systems, microprocessor-based systems, programmable consumers, early electronic devices, network PCs, mini-computers, and more. 3 w彡 System or distributed computing environment of the device Please refer to Figure 1A for the implementation of this document. The description of the system contains the general purpose of the computer 110. The components of computer Η 0 may include, but are not limited to, one processing unit 12, _ system memory 1 3 〇 10 201227349, and a system bus 121 that can couple many system components including system memory to processing unit 120. The system bus 121 can be a variety of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a number of bus architectures. By way of example and not limitation, this architecture includes industry standard architecture bus, micro channel architecture (MCA) bus, enhanced ISA (eisa) bus, video electronic standards association (VESA) native bus and peripheral components. Interconnect (PCI) bus, known as the Mezzanine bus. Computer 110 typically includes a number of computer readable media, computer readable media containing volatile and non-volatile media, removable and non-removable media. By way of example, but not limitation, computer readable media may include computer storage media and communication media, and include, but are not limited to, RAM, ROM, EEPR〇M, flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic tape, magnetic disk storage or other magnetic storage device, or any other media that can be used to store the desired information and be accessible by computer 11. The communication medium is generally a computer readable command, a data structure, a program mode or other data in a modulated data signal, such as a carrier wave or other transmission mechanism, and includes #何信息传送(4). The term "transformation data signal" means an apostrophe that has one or more feature sets or is altered by means of intra-coded information. By way of example and not limitation, communication media includes wired media such as wired networks or direct wired connections, and wireless media such as audio θ, RF, infrared, and other wireless media. Any combination of the above media should also be included in computer readable media
II 201227349 的領域内。 系統記憶體130包含揮發與/或非揮發性記憶體形式 的電腦儲存媒體,像是唯讀記憶體(R〇M) i 3〗以及隨機 存取記憶體(ram)132。基本輸入/輸出系統133(BI〇s) 包含有助於在電腦110内元件之間(像是啟動時)傳輸資 訊的基本常式,其一般儲存在R0M 131内。RAM 132 一般包含可立即存取或在處理單元120上操作呈現的資 料與/或程式模組。藉由範例但不受限於此範例,第i圖 說明作業系統134、應用程式135、其他程式模組136 以及程式資料137。 電腦11 0也可包含其他可移除/不可移除、揮發/非揮 發性電腦儲存媒體。藉由範例,第i圖說明讀取或寫入 不可移除、非揮發磁性媒體的硬碟機14〇、讀取或寫入 可移除、非揮發性磁碟152的磁碟機151以及讀取或寫 入可移除、非揮發性光碟156,像是CD_R〇M或其他光 學媒體的光碟機155。其他可在範例作業環境内使用的 可移除/不可移除、揮發/非揮發性電腦儲存媒體包含但 不受限於:磁帶、快閃記憶卡、數位多功能光碟、數位 影帶、固態RAM、固態R0M等等。硬碟機141 一般透 過像是介面140這種不可移除記憶體介面連接至系統匯 肌排121,並且磁碟機151與光碟機I” 一般透過像是 ;|面150這種可移除記憶體介面連接至系統匯流排η ^ 上面时淪以及第1A圖内說明的磁碟機(光碟機)以及 隨附之電腦儲存媒體提供了電腦可讀取指令、資料結 12 201227349 構、程式模組或其他電腦! 1〇資料的儲存。例如在第丄A 圖内說明硬碟機141用於儲存作業系統144、應用程式 M5、其他程式模組146以及程式資料147。請注意,這 些組件可與作業系統134、應用程式135、其他程式模組 1 3 6以及程式資料丨3 7相同或不同。在此賦予作業系統 144、應用程式145、其他程式模組146以及程式資料 不同的編號,以說明至少這些是不同的版本。使用者可 透過輸入裝置,像是鍵盤162與指標裝置161(通稱為滑 鼠、軌跡球或觸控板)將命令與資訊輸入電腦2〇内。其 它輸入裝置(未顯示)可包含麥克風、搖桿、遊戲控制器、 衛星碟、掃描胃料。這些與其他輸入裝置透過與系統 匯流排耦合的使用者輸入介面160連接到處理單元 120,但也可由其他介面與匯流排結構來連接,像是並列 埠、遊戲埠或萬用序列匯流排(USB)。監視器191或他 種顯不裝置也可透過介面,像是影像介面19〇,連接到 系統匯流排121。除了監視器以外,電腦也可包含其他 週邊輸出裝置,像是喇队197與印表機196,這些可透 過輸出週邊介面190來連接。 電腦110可使用邏輯連接至一或多部遠端電腦,像是 遠端電恥180來在網路環境内運作。遠端電腦可為 個人電腦、伺服器、路由器、網路pc、點裝置或其他共 用網路節點,並且通常包含上述有關電腦UG的許多或 全。卩元件,不過第1A圖内只顯示一個記憶體儲存裝置 第1A圖内說明的邏輯連接包含區域網路(lan)17i 13 201227349 以及廣域網路(WAN) 173,但是也可包含其他網路。這 種網路環境在辦公室、企業電腦網路、内部網路以及網 際網路内相當稀鬆平常。 當用於LAN網路環境内,電腦ι10透過網路介面或配 接器170連接到lan 171。當用於WAN網路環境内, 電腦11〇—般包含數據機172或其他在WAN 173上建立 通訊的構件,像是網際網路。内接或外接數據機Η〗可 透過使用者輸入介面16〇或其他適當機制連接至系統匯 流排121。在網路環境中,與電腦11〇相關的程式模組 或部分程式模組可儲存在遠端記憶體儲存裝置内。藉由 範例但不受限於此範例,第1A圖說明位於記憶體裝置 18i上的遠端應用程式185。吾人可瞭解所顯示的網路連 線為範例,所以可使用在電腦之間建立通訊鏈結的其他 構件。 吾人可瞭解所顯示的網路連線為範例,所以可使用在 電腦之間建立通訊鏈結的其他構件。假設有任何一種已 ^的通訊協定存在,像是TCP/ip、乙太網路、FTp、HTTp 等等’並且线可在主從式㈣中運作,允許使用者從 網路伺服器掏取網頁。任何-種傳統網路咖都可用 於顯示與操縱網頁上的資料。 編程介面(或更簡單的「介 主』、, "面J )可看成任何機制、痛 理、通訊協定,可讓一或多葙 , 夕程式竭區^又與一或多其他程 式碼區段提供的功能性通訊哎. 、 存取。另外,編程介面可 看成 系統組件的在I丨> 次夕機制、方法、函數呼叫、模組、 14 201227349 物件等等,其可通軸合至其他級件的—或多機制、方 法、函數吟叫、模組等等1面句子中的「程式碼區段」 -詞用於包含-或多指令或程式碼列,並且包含例如程 ^碼模組、物件、副常式、函數等等’而不管套用的詞 彙或程式碼區段是否個別套用、或是否提供程式碼區段 當成來源碼、中間碼或物件碼、程式碼是W於執行時 間系統或處理,或其是否位㈣同或不同機器上或分布 通過多部機器,或程式碼區段所表示的功能性是否在整 個軟體、整個硬體或硬體與軟體的組合内實施。 在想法上,編程介面一般可看成如第1B圖或第⑴圖 内所示。第1B圖說明介面Interfacel當成溝通第一與第 二程式碼區段的管道。第1C圖說明一個介面,其包含 介面物件II和12 (可能是或不是部份第一第二程式碼區 段),其可讓系統的第一或第二程式碼區段透過媒體Μ 通訊。從第1(:圖看起來,吾人可考慮介面物件11和Η 當成相同系統的個別介面,並且也可考慮物件η和η 加上媒體Μ構成介面。雖然第1Β和lc圖顯示雙向流 動以及每一側流動上的介面,特定實施只有在—個方向 内有資訊流(或如下所述無資訊流),或只有在—側上有 介面物件。藉由範例,並且不受此限制,像是應用程式 編程介面(API)、記錄點、方法、函數、副常式、遠端程 序呼叫以及組件物件模型((:〇厘)介面等詞都涵蓋在編程 介面的定義内。 這種編程介面的態樣可包含藉此該第一程式碼區段將 15 201227349 資訊(在此廣為使用的「資訊」包含資料、命令、要求等 等)傳輸至第二程式碼區段的方法、藉此該第二程式碼區 段接收資訊的方法,以及資訊的結構、順序、語法、組 織、法則、時機與内容。在此方面,下層傳輸媒體本身 對於’I面的操作、媒體為有線或無線或這兩者的組合以 及該資訊是否由介面定義的方式傳輸可能不重要。在特 疋情況下,以傳統觀念來說資訊不會單向或雙向傳遞, 而疋資訊傳輸可透過其他機制(例如資訊放在與程式碼 區段之間資訊流分開的緩衝區、檔案等等之内)或不存 在或疋當一個程式碼區段簡單存取由第二程式碼區段 執行的功能性。任何或所有這些態樣在已知情況下都很 重要,例如根據程式碼區段是否為鬆弛搞合或緊密麵合 組態内系統的一部分,如此此清單應該考慮說明並不受 限制。 這個編程介面的概念為精通此技術的人士所熟知,並 且從前面本發明的詳細說明中已經釐清。不過,還有其 他方式實施編程介面,並且除非明確排除,否則全部包 3在本說明書結尾上揭示的申請專利範圍内。這種其他 方式似乎比從第1Β圖和第1C圖簡化圖更精巧或複雜, 儘ϋ如此其執行類似功能來達成相同的結果。此時我們 將簡單說明編程介面的某些替換實施。 分解 利用將通訊中斷到多個分散通訊中,可間接達成從一 個程式碼區段到另一個的通訊。這用圖解方式說明於第 16 201227349 ID圖和第1E圖内。如所示,某些介面可用可分的功能 集合來說明。如此,第1B圖和第lc圖的介面功能性可 分解來達成相同的結果’就像可用數學方式2乘2乘3 乘2產生24 —樣。因此,如第1D圖内所示,介面II in the field of 201227349. System memory 130 includes computer storage media in the form of volatile and/or non-volatile memory, such as read only memory (R〇M) i 3 and random access memory (ram) 132. The basic input/output system 133 (BI〇s) contains basic routines that facilitate the transfer of information between components within the computer 110 (e.g., upon startup), which are typically stored in the ROM 131. RAM 132 typically includes data and/or programming modules that are immediately accessible or operationally presented on processing unit 120. By way of example and not limitation, FIG. 1 illustrates an operating system 134, an application 135, other program modules 136, and program data 137. Computer 11 0 may also include other removable/non-removable, volatile/non-volatile computer storage media. By way of example, FIG. 1 illustrates a hard disk drive 14 that reads or writes non-removable, non-volatile magnetic media, a disk drive 151 that reads or writes removable, non-volatile disks 152, and reads. A removable, non-volatile optical disc 156, such as a CD_R〇M or other optical media disc drive 155, is taken or written. Other removable/non-removable, volatile/non-volatile computer storage media that can be used in the sample operating environment include, but are not limited to, tape, flash memory card, digital versatile disc, digital video tape, solid state RAM , solid state R0M and so on. The hard disk drive 141 is generally connected to the system muscle row 121 through a non-removable memory interface such as the interface 140, and the disk drive 151 and the optical disk drive 1" generally pass through the image; When the body interface is connected to the system bus η ^ and the disk drive (disc) described in Figure 1A and the accompanying computer storage media provide computer readable commands, data link 12 201227349 structure, program module Or other computer! 1) Storage of data. For example, in Figure A, the hard disk drive 141 is used to store the operating system 144, the application program M5, the other program modules 146, and the program data 147. Please note that these components can be used with The operating system 134, the application program 135, the other program modules 136 and the program data 丨3 7 are the same or different. Here, the operating system 144, the application program 145, the other program modules 146, and the program data are given different numbers to illustrate At least these are different versions. The user can input commands and information into the computer through input devices such as keyboard 162 and indicator device 161 (known as a mouse, trackball or trackpad). Other input devices (not shown) may include a microphone, a joystick, a game controller, a satellite dish, and a scanning stomach. These are connected to the processing unit 120 via a user input interface 160 coupled to the system busbar by other input devices, but It can also be connected by other interfaces and bus structure, such as parallel port, game port or universal serial bus (USB). Monitor 191 or other display device can also be connected through interface, such as image interface 19〇, To the system bus 121. In addition to the monitor, the computer can also include other peripheral output devices, such as the racquet 197 and the printer 196, which can be connected through the output peripheral interface 190. The computer 110 can be logically connected to one or Multiple remote computers, such as remote shame 180, operate in a network environment. The remote computer can be a personal computer, server, router, network pc, point device, or other shared network node, and usually contains Many or all of the above-mentioned computer UG components, but only one memory storage device is shown in Figure 1A. The logical connection described in Figure 1A contains the regional network. (lan) 17i 13 201227349 and wide area network (WAN) 173, but can also include other networks. This network environment is quite common in offices, corporate computer networks, intranets, and the Internet. In the LAN network environment, the computer ι10 is connected to the lan 171 through the network interface or adapter 170. When used in a WAN environment, the computer 11 typically includes a data machine 172 or other component that establishes communication on the WAN 173. , such as the Internet. An inline or external modem can be connected to the system bus 121 via a user input interface 16 or other suitable mechanism. In a network environment, a program module or a portion of a program module associated with a computer can be stored in a remote memory storage device. By way of example and not limitation to this example, Figure 1A illustrates a remote application 185 located on memory device 18i. We can understand the network connections shown as an example, so you can use other components that establish communication links between computers. We can understand the network connections shown as an example, so you can use other components that establish communication links between computers. Suppose there is any kind of communication protocol, such as TCP/ip, Ethernet, FTp, HTTp, etc.' and the line can operate in master-slave (4), allowing users to retrieve web pages from the web server. . Any of the traditional web cafes can be used to display and manipulate data on web pages. The programming interface (or more simply "master", "face J) can be seen as any mechanism, pain, communication protocol, can make one or more 葙, 夕 竭 区 ^ ^ and one or more other code The functional communication provided by the segment is 、., access. In addition, the programming interface can be regarded as the system component in the I丨> second-night mechanism, method, function call, module, 14 201227349 object, etc. "Code section" in one-sided sentence that is combined with other levels - or multiple mechanisms, methods, function squeaks, modules, etc. - Words are used to contain - or multiple instructions or code columns, and include, for example, ^Code module, object, sub-normal, function, etc. 'Whether the applied vocabulary or code section is applied individually, or whether the code section is provided as source code, intermediate code or object code, the code is W Whether the functionality of the execution time system or process, or whether it is in (4) on the same or different machines or distributed through multiple machines, or in the code segment, is within the entire software, the entire hardware, or a combination of hardware and software. Implementation. In terms of ideas, the programming interface can generally be viewed as shown in Figure 1B or Figure (1). Figure 1B illustrates the interface Interfacel as a conduit for communicating the first and second code segments. Figure 1C illustrates an interface that includes interface objects II and 12 (which may or may not be part of the first second code portion) that allow the first or second code portion of the system to communicate through the media. From the first (: figure, we can consider the interface 11 and Η as the individual interfaces of the same system, and also consider the objects η and η plus the media Μ interface. Although the first and lc diagrams show two-way flow and each The interface on one side of the flow, the specific implementation only has information flow in one direction (or no information flow as described below), or only the interface object on the side. By way of example, and without this limitation, like Application programming interfaces (APIs), logging points, methods, functions, subroutines, remote program calls, and component object models ((: 〇) interface are all covered in the definition of the programming interface. The aspect may include a method for transmitting the 15 201227349 information (the "information" which is widely used herein to include information, commands, requirements, etc.) to the second code segment by using the first code segment, thereby The method of receiving information in the second code segment, and the structure, order, syntax, organization, rules, timing and content of the information. In this aspect, the underlying transmission medium itself operates on the 'I side, It may not matter whether the connection is wired or wireless or a combination of the two and whether the information is transmitted by the interface. In the special case, the information is not transmitted in one direction or two directions in a traditional way, and the information transmission can be Through other mechanisms (such as information placed in a buffer, file, etc. separate from the code segment) or non-existent or simple access to a code segment is performed by the second code segment Functionality. Any or all of these aspects are important in known situations, such as depending on whether the code section is slack fit or part of the system within the configuration, so this list should be considered and not The concept of this programming interface is well known to those skilled in the art and has been clarified from the foregoing detailed description of the invention. However, there are other ways to implement the programming interface, and unless explicitly excluded, all packages 3 are in this specification. At the end of the scope of the patent application disclosed. This other approach seems to be more sophisticated or complex than the simplified diagram from the 1st and 1C diagrams. This performs similar functions to achieve the same result. At this point we will briefly explain some alternative implementations of the programming interface. Decomposition uses communication to break into multiple decentralized communications, indirectly from one code segment to another. Communication. This is illustrated graphically in the 16th 201227349 ID and 1E diagrams. As shown, some interfaces can be illustrated by a separable set of functions. Thus, the interface functionality of the 1B and lc diagrams can be decomposed. To achieve the same result 'just like the mathematical method 2 times 2 times 3 times 2 times to produce 24 - so, as shown in Figure 1D, the interface
Interfacel提供的功能可細分來將介面通訊轉換為多介 面 InterfacelA、InterfacelB、The functions provided by Interfacel can be subdivided to convert interface communication into multi-interface InterfacelA, InterfacelB,
InterfacelC等等,而達成 相同的結果。如第1E圖内所示’由介面η提供的功能 可細分為多介面Ila、Ilb、Ilc等等’而達成相同的結果。 類似地,接收來自第一程式碼區段資訊的第二程式碼區 段介面12可分解為多個介面I2a、I2b、I2c等等。分解 時,包含第一程式碼區段的介面數量並不需要與包含第 二程式碼區段的介面數量吻合。在第1D圖和第1E圖的 情況下,介面Interfacel和II的功能精神分別與第1B 圖和第1C圖的一樣。介面的分解也遵照連帶、相互以及 其他數學特性,如此會難以認出分解。例如,操作順序 可能不重要,因此介面帶有的功能可在到達介面之前由 另外一些程式碼或介面執行,或由系統的個別組件執 行。再者,精通編程技術的人士可瞭解,有許多製作不 同函數呼叫而達成相同結果的方式。 重新定義 在某些情況下,可以忽略、新增或重新定義編程介面 的特定態樣(例如參數),而仍舊達成所要的結果。這說 明於第1F圖和第1G圖内。例如:第i b圖的假設介面 Interfacel包含一函數呼叫Square (輸入,精度,輪出), 17 201227349 包含三個參數:輸人、精度、輸出的呼叫,並且從第一 程式碼區段發出至第二程式碼區段。若中間參數精度在 已知案例中無關緊要’如第1F圖内所示,則可以忽略 或甚至用無意義(在此情況下)參數取代。另外也可加入 無關的額外參數。在這兩事件中,可達成平方的功能性, 而在輸入用第二程式碼區段平方之後送回輸出。精度對 於某些下游或計算“其他部分而言是相當有意義的參 數’不過—旦確認精度Μ要用於計算平方,則可取代 或^略。例如:取代傳遞有效的精度值,可傳遞像是生 曰廷種無意義值而不會結果有不利的影響。類似地,如 第1G圖内所示,介面出人二τι, ”囟由;丨面11'取代,重新定義為忽 略或新增參數至介面。介面12可類似重狀義為介面 12’’重新定義來忽略非必要的參數或在別處已經處理過 的參數。這裡的重點在於在某些情況下,-編程介面可 包含像是參數這種領域,對於某些目的這些並不需要, 所以其可忽略或重新定義,或在別處處理用於其他目的。 線内編碼InterfacelC and so on, and achieve the same result. The function provided by the interface η can be subdivided into multi-interfaces Ila, Ilb, Ilc, etc. as shown in Fig. 1E to achieve the same result. Similarly, the second code segment interface 12 receiving information from the first code segment can be decomposed into a plurality of interfaces I2a, I2b, I2c, and the like. When decomposing, the number of interfaces containing the first code segment does not need to match the number of interfaces containing the second code segment. In the case of the 1D and 1E, the functional spirits of the interfaces Interfacel and II are the same as those of the 1B and 1C, respectively. The decomposition of the interface also follows the splicing, mutual and other mathematical properties, which makes it difficult to recognize the decomposition. For example, the order of operations may not be important, so the functionality of the interface can be performed by other code or interfaces before reaching the interface, or by individual components of the system. Furthermore, those skilled in programming techniques know that there are many ways to make different function calls and achieve the same result. Redefining In some cases, specific aspects of the programming interface (such as parameters) can be ignored, added, or redefined, while still achieving the desired results. This is illustrated in Figures 1F and 1G. For example, the hypothetical interface of the ib diagram Interfacel contains a function call Square (input, precision, round out), 17 201227349 contains three parameters: input, precision, output call, and from the first code section to the first Two code segments. If the intermediate parameter accuracy does not matter in the known case, as shown in Figure 1F, it can be ignored or even replaced with a meaningless (in this case) parameter. It is also possible to add extraneous extra parameters. In both events, the functionality of the square can be achieved and the output is sent back after the input is squared with the second code segment. Accuracy is a parameter that is quite meaningful for some downstream or calculations "other parts", but the accuracy can be used to calculate the square, but it can be replaced or omitted. For example: instead of passing a valid precision value, it can be passed like There is no meaningful effect on the oysters and the results are not adversely affected. Similarly, as shown in Figure 1G, the interface is replaced by two τι, "囟由;丨11", redefining as ignoring or adding Parameters to interface. The interface 12 can be redefined as a duplicate 12'' to ignore non-essential parameters or parameters that have been processed elsewhere. The point here is that in some cases, the programming interface can contain fields like parameters, which are not needed for some purposes, so they can be ignored or redefined, or processed elsewhere for other purposes. Inline coding
兩個別程式碼模組的某些或所有功能性融合在一起 也可行,如此其間的「介面」就會改變形式。例如:第 1Β圖和第1C圖的功能性可分別轉換成第m圖和第U 2功能性。在第1H圖内,之前第则的第一與第二 程式瑪區段會融入包含护 乂兩者的模組内。在此案例中, 程式碼區段仍舊可彼此 留α 訊’但疋介面會調整成更適合 一莫組的形式。如此’例如不再需要正式Call和Return 18 201227349 東述式,但是根據介面Interfacel的類似處理或回應則 ""、有效。類似地,如第Η圖内所示,來自第圖的 邛刀(或全部)介面12可線内寫入介面n來形成介面 I 1 ,f 0 Jfr. °所示’介面12區分成I2a和I2b,並且介面部分 已、I用;Μ面11線内編碼形成介面11 "。針對具體範 例,考慮來自第1C圖的介面π執行函數呼叫平方(輸 入,輪出),由介面12接收,而在處理由第二程式碼區 又用輸入傳遞值之後(用於計算輸入的平方),用輸出傳 送回平方的結果。在這種情況下,由第二程式碼區段(平 方輪入)執行的處理可由第一程式碼區段執行,而不用呼 叫該介面。 分離 利用將通訊中斷到多個分散通訊中,可間接達成從一 個程式碼區段到另一個的通訊。這用圖解方式說明於第 1J圖和第圖内。如第ij圖内所示,提供一或多段程 式碼(分離介面,因為其從原始介面終將功能性以及/或 介面功月b刀離)來轉換第一介面Interfacei上的通訊,確 遇其到達不同介面,在此案例中為介面Interface2A、 Interface2B和interface2C。這可達成,例如有一已經安 裝的應用程式基礎指定與根據Interfacel通訊協定與作 業系統通訊,但是然後作業系統改變使用不同的介面, 在此案例中為介面Interface2A、Interface2B和 Interface2C。這是因為第二程式碼區段所使用的原始介 面已經改變,如此就不再與第一程式碼區段所使用的介 19 201227349 面相谷,因此使用中間媒介讓新與舊介面相容。類似地, 如第ικ圖内所示,第三程式碼區段可導入分離介面 DI1,接收來自介面n的通訊以及與分離介面di2的通 訊,將介面功能性傳輸至例如介面I2a和I2b,重新設計 運用DI2,但是提供相同的功能結果。類似地,du和 DI2可一起運作,將第1C圖介面n和12的功能性轉譯 成新的作業系統,提供相同或類似的功能結果。 重新撰寫 仍舊其他可能的改變為動態重新撰寫程式碼,用其他 取代介面功能性但是達成相同整體結果。例如:有一種 系統,其中提供呈現在中間語言(例如Micr〇s〇ft比、Java ByteCode等等)内的程式碼區段給執行環境内的 Just-in-Time (JIT)編譯器或解析器(就像是由Net framework、Java Runtime 環境或其他類似 Runtime 類型 環境所提供)。JIT編譯器可撰寫成將通訊從第一程式碼 區&動態轉換成第二程式碼區段,即是確認其可能為第 二程式碼區塊(原始或不同的第二程式碼區塊)所需的不 同介面。這說明於第1L圖和第1M圖内。如可從第 圖所見’此方式類似於上述的分離案例。這可達成,例 如有一已經安裝的應用程式基礎指定與根據 通訊協定與作業系統通訊,但是然後作#系統改變使用 不同的介面。了IT編譯器可用於確認從已安裝應用程式 到作業系統新介面的進行中之通訊。如第1M圖内所 不’此動態重新撰寫介面的方法可套用至動態因素,或 20 201227349 改變介面。 吾人也應該注意,上述透過不同具體實施例的介面可 達成相同或類似結果之案例也可用許多方式組合,串聯 以及/或並聯’或用其他調停程式碼。如此,上面呈現的 另一具體實施例並不互斥並且可以混合、匹配並且組 合’來產生與第1B圖和第1C圖内所示一般案例相同或 同等案例。吾人應該注意,對於大多數編程架構而言, 還有此處未說明的其他類似方法可達成相同或類似介面 功能性’但是儘管如此還是涵蓋在本發明的精神與領域 内’即是吾人注意到’至少所表示並且可導致好處的部 分功能性位於介面價值之下。 縮圖 第4A圖和第4B圖圖示其中提供應用程式視窗縮圖的 一個本發明應用程式範例。在第4A圖的範例中,說明 包含工作列按鈕的工作列4〇〇。每個工作列按鈕對應至 現用的應用程式。工作列按鈕402對應至目前在電腦上 執行的「接龍」應用程式。類似地,工作列按紐4 〇 3對 應至文書處理應用程式視窗、工作列按紐405對應至媒 體播放程式應用程式視窗並且工作列按紐406對應至 「小算盤」應用程式視窗。「接龍」縮圖401提供用於「接 龍」應用程式視窗’並且「媒體播放程式」縮圖404提 供用於「媒體播放程式」應用程式。對應的縮圖可以有 許多喚起方式。在一非限制的範例中,利用將游標停在 對應的工作列按鈕上就可喚起縮圖。例如:利用將游標 21 201227349 停在「接龍」工作列按鈕402上就可嗔起「接龍」縮圖 401 ° 另外如第4A圖内所示,動態縮圖可提供對應至應用 程式的更新或「現場」内容。例如汀媒體播放程式」可 正在播放影片。隨著影片在「媒體播放程式」應用程式 視窗(未顯示)内播放,影片也會在「媒體播放程式」縮 圖404内播放。方媒體播放程式應用程式本身已經最小 化’則媒體播放程式縮圖404顯示媒體播放程式應用程 式在最小化之前的最後晝面。另外,即使媒體播放程式 應用程式視窗本身已經最小化,不過其繼續播放影片, 則媒體播放程式縮圖4〇4可繼續播放影片。 第4B圖說明本發明的其他縮圖範例。說明工作列41〇 其中包含對應至「接龍」應用程式視窗(未顯示)的「接 龍」工作列按鈕411、對應至文書處理應用程式視窗(未 顯示)的文書處理工作列按鈕412、對應至媒體播放程式 應用程式視窗(未顯示)的媒體播放程式工作列按鈕4丄3 以及對應至小具盤應用程式視窗(未顯示)的小算盤工作 列按紐414。在此範例中,提供「小算盤」縮圖4 1 5。「小 算盤」縮圖415顯示目前以及更新的「小算盤」應用程 式内容。在本發明的一個具體實施例内,「小算盤」縮圖 415也可更新應用程式視窗。例如:透過「小算盤」縮 圖415可執行計算來達成算術結果。此結果可顯示在「小 算盤」縮圖415以及「小算盤」應用程式視窗(未顯示) 内。在此範例中,"=="鍵選自於「小算盤」縮圖415内 22 201227349 並且在「小算盤」縮圖内顯示結果(即是”4")。即使計算 透過「小算盤」縮圖415來執行,此結果也反映在「小 算盤」應用程式視窗(未顯示)内。 第5圖說明其中縮圖顯示在ALT_ΤΑΒ功能表内的其他 本發明縮圖應用。如第5圖内所示,顯示器5〇〇顯示應 用程式。在此情況下,在顯示器5〇〇上可看見部分「小 算盤」應用程式視窗502和部分「接龍」應用程式視窗 5〇1。每個應用程式在工作列中都具有對應的工作列按 鈕。「小算盤」應用程式具有對應的「小算盤」工作列按 鈕503,並且「接龍」應用程式具有對應的「接龍」工 作列按鈕504。「媒體播放裎式」應用程式也啟用(未顯 示)’並且對應的「媒體播放程式」工作列按紐5〇6也呈 現在工作列内。 在第5圖說明的範例内,提供顯示現用應用程式的動 態縮圖之ALT-TAB功能表505。在此範例内,每一動態 縮圖都顯示對應應用程式視窗的「現場」(即是已更新的) 内容。動態縮圖内容可即時更新。隨著應用程式視窗修 改或更新,對應的動態縮圖也會據此更新。動態縮圖的 更新也可即時達成》在此範例中,ALT·TAB功能表505 包含每一現用應用程式的動態縮圖,不管是否可在顯示 器上看見對應的應用程式之應用程式視窗。「小算盤」縮 圖507、「媒體播放程式」縮圖508以及「接龍」縮圖509 說明於ALT-TAB功能表505内,而已選取「接龍」縮圖 509。每一動態縮圖都提供「現場」内容。例如:即時在 23 201227349 「媒體播放程式」縮圖508内播放影片。 第2A圖和第2B圖圖解說明範例顯示器的組件。第 2A圖内將桌面呈現為場景圖形或顯示器樹狀當成元件 200 ’並且包含桌面桌布2〇1和兩應用程式:「小算盤」 2〇2和「接龍」2〇3。此外,桌面另包含一工作列2〇8。 在此表示方法内,視窗訊框以及每個視窗的用戶區域都 為場景圖形的所有部份。視窗移動變成改變顯示樹狀内 的轉換值。此範例中的每個應用程式都分別包含一個視 窗訊框204、205和視窗内容206、207。工作列208包 a視囪内谷209。在第2A圖内,顯示器上的元件可從左 到右呈現。因此,桌面桌布201呈現在「小算盤」203 應用程式視窗之後,而「小算盤」則呈現在「接龍」202 應用程式視窗之後。 第2B圖說明顯示器’如第2A圖内所示。該顯示器包 含背景的桌面桌布220。「小算盤」應用程式視窗222顯 示在桌面桌布之前,並且「接龍」應用程式視窗221顯 不在「小算盤」應用程式視窗222和桌面桌布22〇之前。 如第2B圖内所示’每一應用程式視窗都可由工作列225 内的工作列按鈕表示。在此範例中,「小算盤」應用程式 由工作列225内的工作列按鈕223表示,並且「接龍」 應用程式由工作列225内的工作列按鈕224表示。每一 小算盤」應用程式視窗222和「接龍」應用程式視窗 221都包含一視窗訊框以及視窗内容,.如桌面桌布22〇 上所顯示。 24 201227349 目内說明的任何樹狀子節點都可用來當成A =狀節點的内容。如此,從樹狀内其他地方可上 在此有蜂多達成在樹狀内其他位置上彩 、、“點的方法。對於無限制範例來說,可使用VisualIt is also possible to combine some or all of the functionality of two different code modules, so that the "interface" will change form. For example, the functionality of the first and first graphs can be converted to the mth map and the U2 functionality, respectively. In Figure 1H, the first and second gamma segments of the previous section are incorporated into the module containing both shackles. In this case, the code sections can still be left with each other's but the interface will be adjusted to be more suitable for a group. So, for example, the official Call and Return 18 201227349 are no longer needed, but the similar processing or response according to Interfacel is "", valid. Similarly, as shown in the figure, the file (or all) interface 12 from the figure can be written into the interface n to form the interface I 1 , f 0 Jfr. ° 'Interface 12 is divided into I2a and I2b, and the interface part has been used, I used; the inside of the 11-line coded to form the interface 11 ". For a specific example, consider the interface π from the 1C diagram to perform a function call square (input, round out), received by the interface 12, and after processing the value passed by the second code region and input (for calculating the square of the input) ), using the output to send back the result of the square. In this case, the processing performed by the second code segment (square round) can be performed by the first code segment without calling the interface. Separation By interrupting communication to multiple distributed communications, communication from one code segment to another can be indirectly achieved. This is illustrated graphically in Figure 1J and Figure 1. As shown in the figure ij, one or more pieces of code are provided (separate interface, because it terminates the functionality from the original interface and/or the interface function is switched off) to convert the communication on the first interface Interfacei. Reach different interfaces, in this case interface Interface2A, Interface2B and interface2C. This can be achieved, for example, by having an installed application base specified to communicate with the operating system according to the Interfacel protocol, but then the operating system changes to use a different interface, in this case Interface2A, Interface2B and Interface2C. This is because the original interface used in the second code segment has changed, so that it is no longer in phase with the first code segment, so the intermediate media is used to make the new and old interfaces compatible. Similarly, as shown in the figure ικ, the third code segment can be imported into the separation interface DI1, receive communication from the interface n and communicate with the separation interface di2, and transfer the interface functionality to, for example, the interfaces I2a and I2b, The design uses DI2 but provides the same functional results. Similarly, du and DI2 can operate together to translate the functionality of the 1C interface n and 12 into a new operating system that provides the same or similar functional results. Rewriting Still other possible changes are to dynamically rewrite the code, replacing the interface functionality with others but achieving the same overall result. For example, there is a system in which a code section presented in an intermediate language (eg, Micr〇s〇ft ratio, Java ByteCode, etc.) is provided to a Just-in-Time (JIT) compiler or parser within the execution environment. (Like the Net framework, Java Runtime environment, or other similar Runtime type environment). The JIT compiler can be written to dynamically convert communications from the first code region & to confirm that it may be a second code block (original or different second code block) Different interfaces required. This is illustrated in the 1L and 1M drawings. As can be seen from the figure, this approach is similar to the separation case described above. This can be achieved, for example, if an already installed application base specifies communication with the operating system according to the communication protocol, but then the system changes to use different interfaces. The IT compiler can be used to confirm ongoing communication from the installed application to the new interface of the operating system. As in Figure 1M, the method of rewriting the interface dynamically can be applied to dynamic factors, or 20 201227349 to change the interface. It should also be noted that the above-described examples of achieving the same or similar results through interfaces of different embodiments may also be combined in a number of ways, in series and/or in parallel, or with other mediation code. As such, another embodiment presented above is not mutually exclusive and can be mixed, matched, and combined' to produce the same or equivalent cases as the general case shown in Figures 1B and 1C. It should be noted that for most programming architectures, there are other similar methods not described herein that can achieve the same or similar interface functionality 'but nevertheless encompass the spirit and scope of the present invention'. 'Partial functionality that is at least expressed and can lead to benefits is below the interface value. Thumbnails Figures 4A and 4B illustrate an example of an application of the present invention in which an application window thumbnail is provided. In the example of Figure 4A, the work column 4〇〇 containing the work column button is illustrated. Each work column button corresponds to the active application. The work column button 402 corresponds to the "Solitaire" application currently executing on the computer. Similarly, the task bar button 4 corresponds to the word processing application window, the task bar button 405 corresponds to the media player application window, and the task bar button 406 corresponds to the "small abacus" application window. The "Solitaire" thumbnail 401 is provided for the "Take-up" application window and the "Media Player" thumbnail 404 is provided for the "Media Player" application. The corresponding thumbnails can have many ways to evoke. In a non-limiting example, a thumbnail can be invoked by docking the cursor on the corresponding work column button. For example, by using the cursor 21 201227349 on the "Solitaire" work column button 402, you can pick up the "Solitaire" thumbnail 401 °. As shown in Figure 4A, the dynamic thumbnail can provide updates to the application or " On-site content. For example, Ting Media Player can play a movie. As the video plays in the "Media Player" application window (not shown), the video will also play in the "Media Player" thumbnail 404. The media player application itself has been minimized', and the media player thumbnail 404 shows the final stage of the media player application before minimizing. In addition, even if the media player application window itself has been minimized, if it continues to play the movie, the media player thumbnail 4〇4 can continue to play the movie. Figure 4B illustrates another thumbnail example of the present invention. The description column 41 includes a "Solution" work column button 411 corresponding to the "Solitaire" application window (not shown), a document processing work column button 412 corresponding to the document processing application window (not shown), and corresponding to the media. The media player task bar button 4丄3 of the player application window (not shown) and the small abacus work column button 414 corresponding to the veneer application window (not shown). In this example, a "small abacus" thumbnail 4 1 5 is provided. The "Little Abacus" thumbnail 415 shows the current and updated "Small Abacus" application content. In one embodiment of the invention, the "small abacus" thumbnail 415 also updates the application window. For example, the calculation can be performed through the "small abacus" thumbnail 415 to achieve an arithmetic result. This result can be displayed in the "Small Abacus" thumbnail 415 and the "Little Abacus" application window (not shown). In this example, the "==" key is selected from the "small abacus" thumbnail 415 22 201227349 and displays the result in the "small abacus" thumbnail (ie "4"). Even if the calculation is through a "small abacus" The thumbnail 415 is executed, and the result is also reflected in the "Little Abacus" application window (not shown). Figure 5 illustrates another thumbnail application of the present invention in which the thumbnails are shown in the ALT_ΤΑΒ function table. As shown in Figure 5, the display 5 displays the application. In this case, a portion of the "Small Abacus" application window 502 and a portion of the "Solitaire" application window 5〇1 are visible on the display 5. Each application has a corresponding taskbar button in the taskbar. The "Little Abacus" application has a corresponding "Small Abacus" work column button 503, and the "Solitaire" application has a corresponding "Solitaire" work column button 504. The "Media Player" application is also enabled (not shown) and the corresponding "Media Player" taskbar button is also displayed in the Workbar. In the example illustrated in Figure 5, an ALT-TAB function table 505 is provided that displays the dynamic thumbnails of the active application. In this example, each dynamic thumbnail displays the "live" (that is, updated) content of the corresponding application window. Dynamic thumbnail content can be updated instantly. As the application window is modified or updated, the corresponding dynamic thumbnail will be updated accordingly. Updates to dynamic thumbnails are also instantly available. In this example, the ALT·TAB menu 505 contains a dynamic thumbnail of each active application, regardless of whether the corresponding application's application window is visible on the display. The "Small Abacus" thumbnail 507, the "Media Player" thumbnail 508 and the "Solitaire" thumbnail 509 are described in the ALT-TAB function table 505, and the "Solitaire" thumbnail 509 has been selected. Each dynamic thumbnail provides "live" content. For example: Instantly play a movie in the "Media Player" thumbnail 508 on 23 201227349. Figures 2A and 2B illustrate components of an example display. In Fig. 2A, the desktop is rendered as a scene graph or a display tree as component 200' and includes a desktop tablecloth 2〇1 and two applications: "small abacus" 2〇2 and "selling dragon" 2〇3. In addition, the desktop contains a work bar 2〇8. In this representation, the window frame and the user area of each window are all parts of the scene graph. The window movement changes to a conversion value within the display tree. Each of the applications in this example includes a view frame 204, 205 and window contents 206, 207, respectively. The work column 208 package a depends on the inner valley 209. In Figure 2A, the components on the display can be presented from left to right. Therefore, the desktop tablecloth 201 is displayed after the "small abacus" 203 application window, and the "small abacus" is displayed after the "selling dragon" 202 application window. Figure 2B illustrates the display 'as shown in Figure 2A. The display includes a desktop tablecloth 220 of the background. The "Little Abacus" application window 222 is displayed before the desktop tablecloth, and the "Solitaire" application window 221 is displayed before the "Small Abacus" application window 222 and the desktop tablecloth 22. As shown in Figure 2B, 'each application window can be represented by a work column button in the work column 225. In this example, the "small abacus" application is represented by the work column button 223 in the work column 225, and the "cell" application is represented by the work column button 224 in the work column 225. Each of the small abacus application windows 222 and the "dragon" application window 221 includes a window frame and window contents, such as displayed on the desktop tablecloth 22 。. 24 201227349 Any tree subnodes described in the table can be used as the content of the A = node. In this way, from other places in the tree, there are many ways to achieve color and "points" in other places in the tree. For the unlimited example, you can use Visual.
Brush VlsUalBrush」為—種技術,用於參照場景圖形 的,有部分,但是用圖形範圍的「目前」集合來呈現, 像疋位置、比例、旋轉、不透明、特效等等。這導致部 分樹狀呈現在-個要採現在別處的地方上。例如:若想 要「小算盤」應、用程式視窗的動態縮圖,則呼叫適當的 編程介面⑽如應用程式編程介面或Αρι)提供縮圖主控 HWND或視窗代碼。此範例圖示於第3A圖和第圖内。 第3A圖為說明本發明顯示器組件範例的場景圖形或 顯示樹狀圖。第3 A圖内將桌面呈現為元件或節點3〇〇, 並且包含桌面桌布301和兩應用程式:「小算盤」3〇2和 「接龍」303。此範例中的每個應用程式都分別包含一個 視窗訊框305、306和視窗内容307、3〇8。此範例内的 桌面另包含一工作列307。 在此範例中,由呼叫適當的來提供「小算盤」應 用程式視窗的縮圖。如第3A圖内所示,縮圖主控η WND 304視窗代碼由應用程式建立,並登錄應用程式的縮 圖,像是「小算盤」應用程式。例如在第3Α圖内,工 作列3 07包含縮圖主控H WND 304以及視窗内容310。 縮圖主控HWND 304包含一「小算盤」縮圖311,並且 可將應用程式視窗的縮圖附加至縮圖主控。第3Α圖内 25 201227349 的點狀箭頭說明縮圖主控HWND 304的「小算盤」縮圖 3 11往回點,或從「小算盤」應用程式視窗呈現「小算 • 盤」。結果,提供呈現出對應的應用程式視窗已更新内容 (在此情況下為「小算盤」應用程式視窗),而不是僅是 應用程式視窗内容的靜態檢視之「現場」或動態縮圖。 如第2A圖的範例内,第3A圖内所表現的顯示器上元 件可從左到右呈現。因此,桌面桌布3〇1呈現在「小算 盤」302應用程式視窗之後,而「小算盤」則呈現在「接 龍」303應用程式視窗以及工作列208之後。第3B圖圖 示根據第3A圖的顯示器。如第3B圖所示,該顯示器包 含背景内的桌面桌布320。「小算盤」應用程式視窗322 顯示在桌面桌布320之前,並且「接龍」應用程式視窗 321顯示在「小算盤」應用程式視窗322和桌面桌布32〇 之前。同時也顯示工作列326。每個應用程式都伴隨於 工作列3 2 6中對應的工作列按紐。在此範例中,「小算盤」 應用程式伴隨於工作列按鈕324,並且「接龍」應用程 式伴隨於工作列按鈕325。此外,第3B圖說明所提供伴 隨於「小算盤」應用程式的縮圖。「小算盤」應用程式與 視窗322伴隨於工作列326内的工作列按鈕324,並且 「接龍」應用程式與視窗321伴隨於工作列按鈕325。 • 另外如第3B圖内所示,「小算盤」應用程式視窗322 . 的動態縮圖323。縮圖323由往回點或呈現「小算盤」Brush VlsUalBrush is a technique used to refer to scene graphs, but it is represented by a "current" collection of graphics ranges, such as position, scale, rotation, opacity, special effects, and so on. This leads to a partial tree-like appearance in a place to be taken elsewhere. For example, if you want the "small abacus" to use the dynamic thumbnail of the program window, call the appropriate programming interface (10) such as the application programming interface or Αρι) to provide the thumbnail master HWND or window code. This example is shown in Figure 3A and Figure. Figure 3A is a scene diagram or display tree diagram illustrating an example of a display assembly of the present invention. In Figure 3A, the desktop is presented as a component or node, and includes a desktop tablecloth 301 and two applications: "Little Abacus" 3〇2 and "Solitaire" 303. Each of the applications in this example includes a window frame 305, 306 and window contents 307, 3, 8, respectively. The desktop within this example also includes a work column 307. In this example, a thumbnail of the "small abacus" application window is provided by the appropriate call. As shown in Figure 3A, the thumbnail master η WND 304 window code is created by the application and logged into the application's thumbnail, such as the "small abacus" application. For example, in the third diagram, the work column 3 07 includes a thumbnail master H WND 304 and a window content 310. The thumbnail master HWND 304 includes a "small abacus" thumbnail 311 and a thumbnail of the application window can be attached to the thumbnail master. Figure 3 The dotted arrow of 201227349 illustrates the thumbnail of the "small abacus" of the thumbnail master HWND 304. 3 11 Back to the point, or from the "small abacus" application window, "small calculations". As a result, the rendered content of the corresponding application window (in this case the "small abacus" application window) is provided instead of just the "live" or dynamic thumbnail of the static view of the application window content. As in the example of Fig. 2A, the components on the display represented in Fig. 3A can be presented from left to right. Therefore, the desktop tablecloth 3〇1 is displayed after the "small abacus" 302 application window, and the "small abacus" is presented after the "snap" 303 application window and the work column 208. Fig. 3B is a diagram showing the display according to Fig. 3A. As shown in Figure 3B, the display includes a desktop tablecloth 320 in the background. The "Little Abacus" application window 322 is displayed before the desktop tablecloth 320, and the "Solitaire" application window 321 is displayed before the "Small Abacus" application window 322 and the desktop tablecloth 32. Work column 326 is also displayed. Each application is accompanied by a corresponding work column button in the work column 3 2 6 . In this example, the "Little Abacus" application is accompanied by a work column button 324, and the "Solitaire" application is accompanied by a work column button 325. In addition, Figure 3B illustrates a thumbnail of the application provided with the "small abacus" application. The "Small Abacus" application and window 322 are accompanied by a work column button 324 in the work column 326, and the "Solitaire" application and window 321 are accompanied by a work column button 325. • Also as shown in Figure 3B, the dynamic thumbnail 323 of the "Little Abacus" application window 322. Thumbnail 323 from back to point or presenting "small abacus"
應用程式302的視窗訊框305與視窗内容308的縮圖主 控HWND 304之「小算盤縮圖」節點311提供,如第3A 26 201227349 圖内所說明。結果為「現場」的「小算盤」應用程式322 之動態縮圖323,即是縮圖隨對應用程式視窗本身進行 的對應修改而修改。如第3B圖内所示,「小算盤」應用 程式視窗322内計算出來的"243"值也反映在對應的縮 圖323内。 在本發明的態樣中,透過登錄(register)、移除登錄 (unregister)以及更新縮圖特性來達成動態縮圖。這種登 錄、移除登錄以及更新縮圖特性或修改可透過桌面視窗 管理器(DWM)内的應用程式介面(API)來達成。在此說明 達成本發明縮圖的三個範例API。 API範例1 -縮圖的登錄 縮圖可從視窗產生’例如應用程式視窗。在此情況下, 應用程式視窗為來源視窗,應用程式視窗提供縮圖内容 的基礎。在一個範例中,縮圖為應用程式視窗的最小化 版本,並且包含應用程式視窗的整個内容。另外,縮圖 可只包含所選的來源視窗部分。 來自來源視窗的縮圖内容會呈現到第二區域内。此第 二區域根據來源視窗指定容納縮圖内容的目的地視窗, 此目的地視窗可形成縮圖本身的基礎。例如:應用程式 視窗以外位置内的小視窗訊框、顯示器内的指定區域或 蹦現式功能表可用來當成目的地視窗,來顯示根據應用 程式視窗的縮圖。The window frame 305 of the application 302 is provided with the "small abacus thumbnail" node 311 of the thumbnail master HWND 304 of the window content 308, as illustrated in Figure 3A 26 201227349. The result is a dynamic thumbnail 323 of the "small abacus" application 322 of the "live", that is, the thumbnail is modified with the corresponding modification to the application window itself. As shown in Figure 3B, the "243" value calculated in the "Small Abacus" application window 322 is also reflected in the corresponding thumbnail 323. In the aspect of the invention, dynamic thumbnails are achieved by registering, unregistering, and updating thumbnail features. This login, removal login, and update thumbnail features or modifications can be made through the application interface (API) in the Desktop Windows Manager (DWM). Three example APIs for achieving the thumbnails of the present invention are described herein. API Example 1 - Login of Thumbnails Thumbnails can be generated from a window, such as an application window. In this case, the application window is the source window, and the application window provides the basis for the thumbnail content. In one example, the thumbnail is a minimized version of the application window and contains the entire contents of the application window. In addition, the thumbnail can only contain the selected source window portion. The thumbnail content from the source window is rendered into the second area. This second area specifies a destination window that accommodates thumbnail content based on the source window, which can form the basis of the thumbnail itself. For example, a small window frame outside the application window, a designated area in the display, or a pop-up menu can be used as a destination window to display thumbnails based on the application window.
當縮圖已經登錄,可劫并遺_ β A J執仃建立來源視窗與目的地視窗 之間關係的操作。視窗杆满mw 肌匈代碼(HWND)可指出用於指定目 27 201227349 的地視窗。指定的目的地視窗可當成縮圖呈現的目標, 並且由呼叫或登錄縮圖的處理所擁有。若登錄縮圖的處 理也擁有目的地視窗,則可避免由其他應用程式對該應 用程式進行不想要的改變。類似地,來源視窗的HWND 也可指定。 縮圖的快取位元圖大小也可指定。例如:最小的大小 可指示系統已經收到來源視窗的最後已知位元圖之通 知。如此,若來源視窗之後最小化並且在顯示器上看不 見,則還是維持視窗的位元圖並且縮圖仍舊可見。大小 可根據呼叫的應用程式需求而變。若相同來源視窗有多 重登錄,處理會根據目前的需求決定適用哪種縮圖大 小。例如:在變化中縮圖大小的多重登錄情況下,可使 用最大的大小。 API也可包含表示縮圖登錄的代碼。此代碼對於發出 呼叫的處理而言是唯一性的,如此縮圖稍後之能從其所 登錄的處理中移除登錄。 用於登錄縮圖的API範例如下:When the thumbnail has been logged in, it can be robbed. _ β A J is responsible for establishing the relationship between the source window and the destination window. The window bar is full of mw muscle hungry code (HWND) to indicate the ground window used to specify the target 27 201227349. The specified destination window can be used as a target for thumbnail presentation and is owned by the processing of the call or login thumbnail. If the process of logging in thumbnails also has a destination window, you can avoid unwanted changes to the application by other applications. Similarly, the HWND of the source window can also be specified. The size of the cached bitmap can also be specified. For example, the minimum size indicates that the system has received notification of the last known bitmap of the source window. Thus, if the source window is minimized and not visible on the display, the bitmap of the window is maintained and the thumbnail is still visible. The size can vary depending on the application needs of the call. If there are multiple logins in the same source window, the processing will decide which thumbnail size to apply based on current needs. For example, in the case of multiple logins with varying thumbnail sizes, the largest size can be used. The API can also contain code that represents a thumbnail login. This code is unique to the processing of the outgoing call, so that the thumbnail can later remove the login from the process it is logged into. An example of an API for logging in thumbnails is as follows:
Typedef HANDLE HTHUMBNAIL;Typedef HANDLE HTHUMBNAIL;
HRESULTHRESULT
DwmRegisterThumbnail ( HWND dstWindow, HWND srcWindow, SIZE *lpMinimizedSize, OUT HTHUMBNAIL * lphThumbnail 28 201227349 ); 其中dstWindow表示目的地視窗、srcWindow表示來 源視窗、lpMinimizedSize表示一旦SrcWindow已經最小 化’則其上系統會快取來源視窗(srcWindow)的最後已知 位元圖之大小’並且IphThumbnail為一傳回值,其表示 該唯一性代碼表示在呼叫中所做的登錄。 API範例2 -縮圖特性的修改或設定 在縮圖登錄之後,來自來源視窗或其一部分的内容會 放置成為目的地視窗内的縮圖。例如:呼叫時,更新的 縮圖特性API可修改或更新目的地視窗内縮圖的呈現特 14 例如.UpdateThumbnail Properties 可用於設定縮圖 的特性,像是可見度、形狀、矩形等等。Update縮圖特 性API可指示要更新的縮圖代碼。對縮圖的更新包含縮 圖的任何修改,包含但不受限於縮圖的位置、縮圖大小、 縮圖所使用的來源視窗部份、縮圖所使用的目的地視窗 部份 '缩圖的不透明或透明度、縮圖的可見度、縮圖的 特效(例如旋轉、扭曲、破碎等等)等等。 在其他範例中’縮圖可從其所登錄的處理中更新或修 改在個範例中,重複呼叫縮圖代碼至目的地視窗, 如此縮圖可再目的地視窗四週移動。在此情況下,縮圖 可在目的地視囪内重新定位。例如:纟TAB視窗 内利用重新呼叫縮圖至目的地視窗,改變縮圖的排列 順序。 數可用於縮圖特性的修改或設定。這裡有許多參數 29 201227349 • : 〇改或。又疋縮圖特性的範例,像是但不受限於旗 透過使用參數,API結構可更容易修改,讓API更 有彈佳在未來進行更新。參數可指定要使用的縮圖之特 性’並且本身可由特定常數來定義。例如:當想要用少 於整個來源視窗來用於額,則參數可定義並對應至來 源視由參數,其定義要用來當成目的地視窗内縮圖的來 源視窗區域或部分。在此範例中,只有由來源視窗參數 所指=的來源視窗特定部份用於目的地視窗内的縮圖。 在此範例中’用來在目的地視窗内當成縮圖的來源視窗 部分會以顯示器的座標來指示。例如:若所要的部分為 來源視窗内一矩形,API可指定一參數來指出矩形與來 源視窗的交叉座標,以獲得要當成縮圖的最終矩形。如 範例所不,座標(0, 〇)可設定為視窗區域的左上角。定義 並對應至所要來源視窗參數的參數可設定,以指示只有 特定來源視窗部分用來當成縮圖,指定的來源視窗部分 會由提供的座標敎義。雖,然有許多方式可指定來源視 ㈣座標以及所要部份,其中—個範例可包含使用由所 提供矩形與交叉的實際來源視窗之交叉來定義部分來源 視窗。 另外,要用於縮圖的部分目的地視窗可透過定義與對 ,應至目的地視窗參數的參數來指定。在此情況下,不想 . 要整個視窗用於縮圖並且只有部分目的地視窗要用於縮 圖,則可*目的地視窗參數指定其中縮圖要呈現的目的 地視窗區域。若有此情況’有一種方式只呈現由目的地 30 201227349 視窗參數定義的所要指定區域(即是當呈現發生在指定 區域之外則裁切影像)。另外,一種決定部分目的地視窗 中縮圖可緣製位置的方法為決定要使用的部分目的地視 窗與目的地視窗本身的交又。這會避免呈現到指定區域 之外另,疋義與對應至目的地視窗參數的參數可用於 指定該指定區域内來自該來源視窗用來當成縮圖的區 域。在此範例中’若未定義目的地視窗參數,則整個指 定的視窗可用來當成縮圖内容。 在API内可指定任何數量的其他縮圖特性。例如:可 指定縮圖的不透明或透明度。在本發明此範例的一個態 樣内,可指派參數來指定縮圖的不透明度(或透明度), 例如可4曰派2 5 5當成完全不透明’而〇則為完全透明。 如此’若設定定義與對應至不透明參數的參數,則適用 用於縮圖不透明度的指定指派數值。結果,縮圖可展現 出使用者所要的不透明變化程度。 根據額外範例,縮圖可根據需求製作成可見或不可 見。可提供定義與對應至能見度參數的參數。能見度參 數可為布林值,如此當能見度參數為「真」,縮圖就可見, 若能見度參數為「傷」’則看不見縮圖。本發明並不受限 於縮圖的任何特定修改,縮圖的任何修改都位於本發明 範疇内。 用於更新或修改縮圖的 API 範例為 DwmUpdateThumbnallProperties,如下所示:DwmRegisterThumbnail ( HWND dstWindow, HWND srcWindow, SIZE *lpMinimizedSize, OUT HTHUMBNAIL * lphThumbnail 28 201227349 ); where dstWindow represents the destination window, srcWindow represents the source window, lpMinimizedSize means that once SrcWindow has been minimized, the system will cache the source window ( The size of the last known bitmap of srcWindow) and IphThumbnail is a return value indicating that the unique code represents the login made in the call. API Example 2 - Modification or setting of the thumbnail feature After the thumbnail is registered, the content from the source window or a part thereof is placed as a thumbnail in the destination window. For example, when calling, the updated thumbnail feature API can modify or update the rendering of the thumbnail in the destination window. For example, UpdateThumbnail Properties can be used to set the characteristics of thumbnails, such as visibility, shape, rectangle, and so on. The Update Thumbnail Feature API indicates the thumbnail code to be updated. The update to the thumbnail contains any modifications to the thumbnail, including but not limited to the position of the thumbnail, the size of the thumbnail, the source window portion used for the thumbnail, and the destination window portion used for the thumbnail. Opacity or transparency, the visibility of thumbnails, special effects of thumbnails (such as rotation, twisting, breaking, etc.) and so on. In other examples, the thumbnail may be updated or modified from the process in which it is logged in. In one example, the call thumbnail code is repeated to the destination window, such that the thumbnail can be moved around the destination window. In this case, the thumbnail can be repositioned within the destination. For example, in the TAB window, use the re-call thumbnail to the destination window to change the order of the thumbnails. The number can be used for modification or setting of the thumbnail feature. There are many parameters here 29 201227349 • : Tampering or. An example of the feature of the collapsed graph, such as but not limited to the flag, through the use of parameters, the API structure can be more easily modified, so that the API is more resilient and will be updated in the future. The parameter specifies the characteristics of the thumbnail to be used' and can itself be defined by a specific constant. For example, when you want to use less than the entire source window for the amount, the parameter can be defined and mapped to the source view parameter, which defines the source window area or portion to be used as a thumbnail in the destination window. In this example, only the specific portion of the source window indicated by the source window parameter is used for thumbnails in the destination window. In this example, the portion of the source window used as a thumbnail in the destination window is indicated by the coordinates of the display. For example, if the desired part is a rectangle in the source window, the API can specify a parameter to indicate the intersection of the rectangle and the source window to obtain the final rectangle to be a thumbnail. As the example does not, the coordinates (0, 〇) can be set to the upper left corner of the window area. The parameters defined and corresponding to the desired source window parameters can be set to indicate that only the specific source window portion is used as a thumbnail, and the specified source window portion will be deprecated by the provided coordinates. Although there are many ways to specify the source (4) coordinates and the desired parts, one of the examples may include defining a partial source window using the intersection of the provided rectangle and the intersecting actual source window. In addition, some of the destination windows to be used for thumbnails can be specified by defining and pairing parameters to the destination window parameters. In this case, do not want to. For the entire window to be used for thumbnails and only part of the destination window to be used for thumbnails, the *destination window parameter specifies the destination window area in which the thumbnails are to be rendered. If this is the case, there is a way to render only the desired area defined by the destination window (ie, when the rendering occurs outside the specified area). In addition, a method of determining the position of the thumbnail in the partial destination window is to determine the intersection of the partial destination window to be used and the destination window itself. This avoids being rendered outside of the specified area. The parameters that correspond to the parameters of the destination window can be used to specify the area from the source window that is used as a thumbnail within the specified area. In this example, if the destination window parameter is not defined, the entire specified window can be used as a thumbnail content. Any number of other thumbnail features can be specified within the API. For example: You can specify the opacity or transparency of the thumbnail. In one aspect of this example of the invention, parameters can be assigned to specify the opacity (or transparency) of the thumbnail, for example, 2 5 5 can be considered as completely opaque and 〇 can be completely transparent. Thus, if the definition is defined and the parameter corresponding to the opacity parameter, the specified assignment value for the opacity of the thumbnail is applied. As a result, the thumbnails show the degree of opacity that the user desires. According to additional examples, thumbnails can be made visible or invisible on demand. Parameters that define and correspond to visibility parameters are available. The visibility parameter can be a Boolean value, so when the visibility parameter is "true", the thumbnail can be seen. If the visibility parameter is "injury", the thumbnail cannot be seen. The invention is not limited to any particular modification of the thumbnails, and any modifications of the thumbnails are within the scope of the invention. The API example for updating or modifying thumbnails is DwmUpdateThumbnallProperties, as shown below:
HRESULT 31 201227349HRESULT 31 201227349
DwmUpdateThumbnai 1 Properties ( HTHUMBNAIL hThumbnail, DWM_THUMBNAIL_PROPERTIES *ptnProperties );DwmUpdateThumbnai 1 Properties ( HTHUMBNAIL hThumbnail, DWM_THUMBNAIL_PROPERTIES *ptnProperties );
#define DWM_TNP #define DWM_TNP #define DWM_TNP #define DWM TNP RECTDESTINATION 0X00000001 RECTSOURCE 0X00000002 OPACITY 0X00000004 VISIBILITY 0X00000008#define DWM_TNP #define DWM_TNP #define DWM_TNP #define DWM TNP RECTDESTINATION 0X00000001 RECTSOURCE 0X00000002 OPACITY 0X00000004 VISIBILITY 0X00000008
typedef struct_DWM_THUMBNAIL_PROPERTIES DWORD dwFlags; RECT rcDestination; RECT rcSource; BYTE opacity; BOOL fVisible; } DWM_THUMBNAI L_PROPERTIES; 其中dwFlags定義參數或旗標,其對應至指定要使用 的後續特性之參數。在此範例中,resource參數為指定 要用來當成縮圖的來源視窗(srcWindow)區域之來源視 窗參數、rcDestination為指定縮圖要呈現的目的地視窗 (dstWindow)之目的地視窗參數、opacity為控制縮圖不 透明度的不透明度參數(例如設定從0至255),並且 32 201227349 ㈣此為根據布林值指定縮圖不可見或可見的能見度 蒼歡。Typedef struct_DWM_THUMBNAIL_PROPERTIES DWORD dwFlags; RECT rcDestination; RECT rcSource; BYTE opacity; BOOL fVisible; } DWM_THUMBNAI L_PROPERTIES; where dwFlags defines a parameter or flag that corresponds to a parameter specifying the subsequent characteristics to be used. In this example, the resource parameter specifies the source window parameter to be used as the source window (srcWindow) area of the thumbnail, rcDestination is the destination window parameter of the destination window (dstWindow) to be rendered for the specified thumbnail, and opacity is the control. The opacity parameter of the thumbnail opacity (for example, set from 0 to 255), and 32 201227349 (4) This is the visibility that is invisible or visible according to the Boolean value specified.
ApI範例3 -縮圖的移除登錄 田不在需要時,則移除來源與目的地视窗之間的關 笄例如·若視由不再啟用,則利用移除登錄關聯可達 成視窗與縮圖之間的關聯。這可釋放資源。再者,當退 々出登錄處理’則可另釋放縮圖。用於移除登錄縮圖的絕 la 例為 DwmUnregisterThumbnai卜說明如下:ApI Example 3 - Removal of thumbnails When the login field is not needed, the relationship between the source and destination windows is removed. For example, if the view is no longer enabled, the window and thumbnail can be achieved by removing the login association. The relationship between. This frees up resources. Furthermore, when the login process is retracted, the thumbnail can be released. The example of the one used to remove the login thumbnail is DwmUnregisterThumbnai.
HRESULTHRESULT
DwmUnregisterThumbnail ( HTHUMBNAIL hThumbnail ); 第ό圖為說明用於提供本發明縮圖,包含「現場」或 動態縮圖的處理範例流程圖。在步驟6〇丨内,由應用程 式要求第一頂層視窗或來源視窗顯示一縮圖,其也可位 於第二頂層視窗或目的地視窗的區段内,來提供Αρι。 因此,第一頂層視窗或來源視窗可呈現成目的地視窗内 的最上層物件。此實施的一個無限制範例為ATL_TAB視 囪,其中在該ALT-TAB視窗(即是目的地視窗)内提供對 應至來源視窗的縮圖。 在步驟602内,對DWM呼叫Register可提供縮圖代 碼。在相同的來源視窗或相同的目的地視窗上也可有多 個呼叫《在ALT-TAB範例内,相同來源視窗與相同目的 地視窗上多個呼叫會導致ALT_TAB視窗内的縮圖重新 33 201227349 配置,可在選擇縮圖時提供較大以及/或具風格的應用程 式縮圖m其他範例中,縮圖的2順序可由後續登 錄呼叫改變。若要縮圖的z順序相對於其他顯示元件而 修改,可用其他縮圖登錄呼叫來登錄新的縮圖。在設定 對應至舊縮圖的新縮圖之特性後,就可移除登錄舊縮 圖。如此,在此範例中,縮圖的z順序可由縮圖的多重 登錄改變。 另外,對於相同目的地視窗可呼叫多個來源視窗。在 此範例中,對—個目的地視窗呼叫多個來源視窗導致在 目的地視窗内提供多個不同的縮圖。 仍舊在其他範例中,在其他動態縮圖内可顯示動態縮 圖。例如:具有較高z順序的第一動態縮圖可放置在具 有較低Z順序的應用程式較大動態縮圖内。在此範例 中’縮圖内嵌入其他縮圖内。另,特效可套用至縮圖或 任何嵌入的_。另外,任何2順序的縮圖可串接至任 何Z順序的其他縮圖。例如:至少一個縮圖(不f z順序) 可放置在任何z順序的應用程式之較大動態縮圖内。類 似地’較大動態縮圖可放置在任何z順序的其他動態縮 圖内。如此,縮圖可争接而不管Z順序。 在步驟603内,DWM登錄處理/ID對給縮圖。DWM 可另維持縮圖登錄的全域清單,其t每個應用程式都與 對應的縮圖代碼(HWND)配對。全域清單可根據使用者 的需求用許多方式轉。例如:維持全域清單的合適方 式為利用目的地視窗(dstWindow)將縮圖納入专& ^ 、尔Ή,如此 34 201227349 任何所要的目的地視窗都可有效存取。另外,任何特定 目的地視窗内的縮圖都可另在邏輯順序内組織,像是在 重疊順序内或根據z順序。 在其他範例中,DWM可在視窗最小化之前「快照」 視囪内谷(即是儲存當時視窗的内容)。DWM將視窗内容 快照成例如特定大小的位元圖。大小可由重新登錄的 API決定’並且是縮圖映射用的適當尺寸。在視窗最小 化之後,視窗的内容已經保留下來,如此對應至應用程 式視窗的縮圖仍舊可用。另外,已經最小化的視窗可暫 時「停駐」在顯示器外,而不是真的最小化。在此方式 中’應用程式可繼續傳送資訊與資料來更新縮圖。如此, 若縮圖登錄發生在應用程式視窗「最小化」之後,則縮 圖仍舊登錄並且更新就如同視窗未最小化一樣。另外, 若縮圖登錄並不可行’則可由圖示或字幕列取代縮圖。 在步驟604内,決定並實施對於縮圖特性的更新。在 修改或更新縮圖特性中,DWM可據此修改全域清單。 例如.DWM應用程式可新增縮圖至其擁有的場景圖(例 如第2A圖或第3八圖),其中表示目標視窗的適當頂層 視齒節點會根據額外繪製指示從來源視窗(即是 sreWindow)重新繪製。對於縮圖任何另改變或影響也可 併入,例如縮放比例、定位、不透明度、不可見或特效。 在步驟605内’根據接收的指示來修改縮圖。例如: 右 fVisible 參數為「真」’則 UpdateThumbnail API 可修 改縮圖節點的此見度’或UpdateThumbnail API可增加 35 201227349 (或減少)縮圖的不透明许 ,+) a °在執行要對縮圖進行的所有 修改之後,DWM處理決定3 ^ a μ 成疋疋否要對縮圖移除登錄。這 項對於決定是否要蒋 移除登錄縮圖的處理可從 updateThumbnail 4理個別執行。在此情況下,可能由 於IWgisterTh職bnail她呼叫(未顯示)而發生移除登 錄在步驟606上,會判斷DWM處理是否接收到移除 登錄的API。若接收到移除登錄# Αρι,則處理與對應 縮圖ID的配對就會移除(例如從維持在dwm處理内的 縮圖登錄全域清單)。在步驟術上,因為縮圖已經移除 登錄而重新發出頂層視窗指示串流。結果’縮圖就會移 除。 在一個範例中,將游標停在工作列按鈕上會導致顯示 對應應用程式的縮圖。當游標停留在工作列按鈕上,處 理會建立主控縮圖的新頂層視窗代碼(HWND)。處理呼 叫使用應用程式的視窗代碼(HWND)之重新登錄API,當 成縮圖内容的來源(即是srcWindow)。主控縮圖的新頂 層HWND為目的地視窗(dstWindow)。從來源視窗或其 一部分的内容會放入目的地視窗來顯示的縮圖。縮圖可 包含整個來源視窗内容或只包含上面揭示的預定或已選 取部分。Update Thumbnail API可修改或移除縮圖。例 如:縮圖可相對於對應圖示而重新定位,或特效可套用 至縮圖(例如透明度、不可見、扭曲等等當游標從工 作列按鈕移開,主控縮圖的頂層HWND可移除登錄,如 此就會隱藏縮圖。另外,縮圖可更新成不可見,如此縮 36 201227349 圖仍舊登錄並且後續仍舊可喚起。在另外的方法中,在 建立每個視窗時可用工作列指派一建立的縮圖。在此範 , 财,例如卫作列程式碼可用於運用縮圖能見度以及目 的地矩形來放置縮圖。 應瞭解本發明態樣可有許多形式以及實施例。本文之 具體實施例僅用於說明而非限制本發明,應瞭解在不恃 離本發明範切神之下可進行改變。雖然已經顯示並說 明本發明的圖解具體實施例,前揭說明意欲涵蓋其廣泛 的修改、改變以及替換之範圍,並且在某些實施例中, 可使用本發明的某些特色而無需對應使用其他特色。因 此,應瞭解後附之申請專利範圍應做廣意之解讀,並且 與本發明範疇一致。 【圖式簡單說明】 第1A圖說明用於實施本發明的系統範例,其包含形 式上為電腦的一般用途計算裝置。 第1B圖至第1M圖顯示支援本發明—或多態樣的一般 用途電腦環境。 第2A圖為說明顯示器組件範例的場景圖形或顯示樹 狀圖。 第2B圖圖示根據第2A圖的樣本顯示器組件。 ' 第3A圖為說明本發明顯示器組件範例的場景圖形或 • 顯示樹狀圖。 第3B圖圖示根據第3A圖的顯示器。 37 201227349 第4A圖和第4B圖圖示其中提供應用程式視窗縮圖的 一個本發明應用程式範例。 第5圖說明其中縮圖顯示在ALT-TAB功能表内的其他 本發明縮圖應用程式。 第6圖為說明提供縮圖的處理範例流程圖。 【主要元件符號說明】 20電腦 147程式資料 100計算環境 150介面 110電腦 151磁碟機 120處理單元 152可移除磁碟 121系統匯流排 155光碟機 130系統記憶體 156可移除光碟 131唯讀記憶體 160使用者輸入介面 132隨機存取記憶體 161指標裝置 133基本輸入/輸出系統 162鍵盤 134作業系統 170配接器 135應用程式 171區域網路 136程式模組 172數據機 137程式資料 173廣域網路 140硬碟機 180遠端電腦 141硬碟機 181記憶體儲存裝置 144作業系統 185遠端應用程式 38 201227349 145應用程式 146程式模組 196印表機 197 °刺口八 200元件 201桌面桌布 202小算盤 203接龍 204視窗邊框 205視窗邊框 206視窗内容 207視窗内容 208工作列 209視窗内容 220桌面桌布 221 「接龍」應用程式視窗 222 「小算盤」應用程式視窗 223工作列按鈕 224工作列按紐 225工作列 300元件 190像介面 191監視器 303接龍 304縮圖宿主HWND 305視窗邊框 306視窗邊框 307工作列 308視窗内容 309視窗内容 310視窗内容 311 「小算盤」縮圖 320桌面桌布 321 「接龍」應用程式視窗 322「小算盤」應用程式視窗 323動態縮圖 324工作列按鈕 325作列按鈕 326工作列 400工作列 401「接龍」縮圖 402工作列按紐 39 201227349 301桌面桌布 302小算盤 405工作列按鈕 406工作列按鈕 410工作歹ij 411「接龍」工作列按紐 412文書處理工作列按鈕 413媒體播放程式工作列按紐 414小算盤工作列按鈕 415 「小算盤」縮圖 5〇〇螢幕 403工作列按鈕 404「媒體播放程式」縮圖 5〇1「接龍」應用程式視窗 502「小算盤」應用程式視窗 503「小算盤」工作列按紐 504「接龍」工作列按鈕 505 ALT-TAB 功能表 506工作列按鈕 507「小算盤」縮圖 508「媒體播放程式」縮圖 5〇9 「接龍」縮圖DwmUnregisterThumbnail ( HTHUMBNAIL hThumbnail ); The figure is a flowchart illustrating a process example for providing a thumbnail of the present invention, including "live" or dynamic thumbnails. In step 6〇丨, the application requests the first top window or the source window to display a thumbnail, which may also be located in the second top window or the destination window section to provide Αρι. Thus, the first top-level window or source window can be rendered as the topmost object within the destination window. An unrestricted example of this implementation is the ATL_TAB view, in which a thumbnail corresponding to the source window is provided within the ALT-TAB window (i.e., the destination window). In step 602, a thumbnail code can be provided for the DWM call Register. Multiple calls can also be made in the same source window or on the same destination window. "In the ALT-TAB paradigm, multiple calls on the same source window and the same destination window will cause thumbnails in the ALT_TAB window to re-33 201227349 configuration In the other examples, the larger and/or styling application thumbnails can be provided when thumbnails are selected. In the other examples, the 2 sequence of thumbnails can be changed by subsequent login calls. To change the z-order of the thumbnails relative to other display elements, you can log in to the new thumbnails with other thumbnail login calls. After setting the characteristics of the new thumbnail corresponding to the old thumbnail, you can remove the old thumbnail. Thus, in this example, the z-order of thumbnails can be changed by multiple logins of thumbnails. In addition, multiple source windows can be called for the same destination window. In this example, calling multiple source windows for a destination window results in multiple different thumbnails being provided within the destination window. Still in other examples, dynamic thumbnails can be displayed in other dynamic thumbnails. For example, a first dynamic thumbnail with a higher z-sequence can be placed in a larger dynamic thumbnail of an application with a lower Z-order. In this example, the thumbnails are embedded in other thumbnails. In addition, special effects can be applied to thumbnails or any embedded _. In addition, any 2 sequential thumbnails can be concatenated to any other thumbnail of the Z order. For example: at least one thumbnail (not f z order) can be placed in a larger dynamic thumbnail of any z-order application. A similarly large dynamic thumbnail can be placed in any other dynamic thumbnail of the z-order. In this way, thumbnails can be contiguous regardless of the Z order. In step 603, the DWM login process/ID pair is given a thumbnail. DWM can maintain a global list of thumbnail logins, each of which is paired with a corresponding thumbnail code (HWND). The global list can be transferred in many ways depending on the needs of the user. For example, the appropriate way to maintain the global list is to use the destination window (dstWindow) to include the thumbnails in the special & ^, er, so 34 201227349 any desired destination window can be effectively accessed. In addition, thumbnails within any particular destination window can be organized in a logical order, either in an overlapping order or in a z-order. In other examples, the DWM can "snap" the valleys (ie, store the contents of the window at the time) before the window is minimized. The DWM snapshots the window content into, for example, a bitmap of a particular size. The size can be determined by the re-login API' and is the appropriate size for the thumbnail map. After the window is minimized, the contents of the window have been preserved, so the thumbnail corresponding to the application window is still available. In addition, windows that have been minimized can be temporarily "parked" out of the display, rather than being minimized. In this mode, the application can continue to transfer information and materials to update thumbnails. Thus, if the thumbnail login occurs after the application window is "minimized", the thumbnail is still logged in and the update is as if the window was not minimized. In addition, if the thumbnail registration is not feasible, the thumbnail can be replaced by a graphic or subtitle column. In step 604, an update to the thumbnail feature is determined and implemented. In modifying or updating the thumbnail feature, DWM can modify the global list accordingly. For example, the DWM application can add thumbnails to the scene graphs it owns (such as Figure 2A or Figure 38), where the appropriate top-level viewtooth node representing the target window will be based on additional drawing instructions from the source window (ie sreWindow) )repaint. Any other changes or effects on the thumbnail can also be incorporated, such as scaling, positioning, opacity, invisibility or special effects. The thumbnail is modified in accordance with the received indication in step 605. For example: The right fVisible parameter is "true" then the UpdateThumbnail API can modify this view of the thumbnail node' or the UpdateThumbnail API can add 35 201227349 (or reduce) the opacity of the thumbnail, +) a ° in the execution of the thumbnail After all the modifications made, the DWM process determines whether 3 ^ a μ is to be removed from the thumbnail. This process for deciding whether or not to remove the login thumbnail can be performed individually from updateThumbnail. In this case, a removal log may occur on page 606 due to IWgister's job, bnail her call (not shown), and it is determined whether the DWM process has received the API to remove the login. If the remove login # Αρι is received, the pairing with the corresponding thumbnail ID is removed (for example, from the thumbnail login global list maintained within the dwm process). In the step, the top window is re-issued to indicate the stream because the thumbnail has been removed. The result 'the thumbnail will be removed. In one example, stopping the cursor on the taskbar button causes a thumbnail of the corresponding application to be displayed. When the cursor stays on the taskbar button, the process creates a new top-level window code (HWND) for the master thumbnail. Handle the call using the application's Windows code (HWND) re-login API as the source of the thumbnail content (ie srcWindow). The new top layer HWND of the master thumbnail is the destination window (dstWindow). The thumbnail from the source window or part of it will be placed in the destination window. The thumbnail can contain the entire source window content or only the predetermined or selected portions disclosed above. The Update Thumbnail API can modify or remove thumbnails. For example, the thumbnail can be repositioned relative to the corresponding icon, or the effect can be applied to the thumbnail (eg transparency, invisibility, distortion, etc. When the cursor is removed from the work column button, the top HWND of the master thumbnail can be removed Log in, this will hide the thumbnail. In addition, the thumbnail can be updated to be invisible, so the 36 201227349 map is still logged in and can still be evoked. In another method, the task column can be assigned to create each window. In this example, the code may be used to place thumbnails using thumbnail visibility and destination rectangles. It will be appreciated that the present invention can be embodied in many forms and embodiments. The present invention is intended to be illustrative, and not restrictive of the invention. The scope of the changes and substitutions, and in some embodiments, certain features of the invention may be used without the corresponding use of other features. The scope of the patent application is to be interpreted broadly and in accordance with the scope of the invention. [FIG. 1A] FIG. 1A illustrates an example of a system for implementing the present invention, which includes a general purpose computing device in the form of a computer. Figures 1B through 1M show general-purpose computer environments that support the present invention - or multi-state. Figure 2A is a scene graph or display tree diagram illustrating an example of a display component. Figure 2B illustrates a sample according to Figure 2A. Display Assembly. ' Figure 3A is a scene diagram illustrating an example of a display assembly of the present invention or a display tree diagram. Figure 3B illustrates a display according to Figure 3A. 37 201227349 Figures 4A and 4B illustrate applications provided therein An example of an application of the present invention in a thumbnail of a program window. Figure 5 illustrates another thumbnail application of the present invention in which the thumbnail is displayed in the ALT-TAB function table. Fig. 6 is a flow chart showing an example of processing for providing a thumbnail. [Main component symbol description] 20 computer 147 program data 100 computing environment 150 interface 110 computer 151 disk drive 120 processing unit 152 removable disk 121 system convergence 155 CD player 130 system memory 156 removable optical disk 131 read only memory 160 user input interface 132 random access memory 161 indicator device 133 basic input / output system 162 keyboard 134 operating system 170 adapter 135 application 171 area network 136 program module 172 data machine 137 program data 173 wide area network 140 hard disk machine 180 remote computer 141 hard disk machine 181 memory storage device 144 operating system 185 remote application program 38 201227349 145 application program 146 Group 196 printer 197 ° spurs eight 200 components 201 desktop tablecloth 202 small abacus 203 Solitaire 204 window frame 205 window frame 206 window content 207 window content 208 work column 209 window content 220 desktop tablecloth 221 "Solitaire" application window 222 " Small abacus application window 223 work column button 224 work column button 225 work column 300 component 190 image interface 191 monitor 303 Solitaire 304 thumbnail host HWND 305 window frame 306 window frame 307 work column 308 window content 309 window content 310 window Content 311 "Small abacus" thumbnail 320 desktop tablecloth 321 "Solitaire" application Windows 322 "Small abacus" application window 323 dynamic thumbnail 324 work column button 325 column button 326 work column 400 work column 401 "Solitaire" thumbnail 402 work column button 39 201227349 301 desktop tablecloth 302 small abacus 405 work column button 406 Work column button 410 work 歹 ij 411 "Solitaire" work column button 412 paperwork work column button 413 media player work column button 414 small abacus work column button 415 "small abacus" thumbnail 5 〇〇 screen 403 work column Button 404 "Media Player" thumbnail 5.3 "Solitaire" application window 502 "Small abacus" application window 503 "small abacus" taskbar button 504 "Solitaire" taskbar button 505 ALT-TAB function table 506 works Column button 507 "small abacus" thumbnail 508 "media player" thumbnail 5 〇 9 "Solitaire" thumbnail
Claims (1)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/111,983 US7673255B2 (en) | 2005-04-22 | 2005-04-22 | Interface and system for manipulating thumbnails of live windows in a window manager |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201227349A true TW201227349A (en) | 2012-07-01 |
TWI533147B TWI533147B (en) | 2016-05-11 |
Family
ID=37188582
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101107704A TWI533147B (en) | 2005-04-22 | 2005-09-02 | Interface and system for manipulating thumbnails of live windows in a window manage |
TW094130191A TWI394052B (en) | 2005-04-22 | 2005-09-02 | Interface and system for manipulating thumbnails of live windows in a window manage |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW094130191A TWI394052B (en) | 2005-04-22 | 2005-09-02 | Interface and system for manipulating thumbnails of live windows in a window manage |
Country Status (12)
Country | Link |
---|---|
US (3) | US7673255B2 (en) |
EP (2) | EP1872194B1 (en) |
JP (1) | JP4981032B2 (en) |
KR (1) | KR101278771B1 (en) |
BR (1) | BRPI0520186B1 (en) |
CA (1) | CA2605601C (en) |
ES (1) | ES2634676T3 (en) |
MX (1) | MX2007013102A (en) |
MY (1) | MY147084A (en) |
RU (2) | RU2409833C2 (en) |
TW (2) | TWI533147B (en) |
WO (1) | WO2006115531A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9836198B2 (en) | 2014-11-28 | 2017-12-05 | Inventec (Pudong) Technology Corporation | Selection method for selecting content in file |
Families Citing this family (158)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7813954B1 (en) * | 2001-12-14 | 2010-10-12 | Keen Personal Media, Inc. | Audiovisual system and method for displaying segmented advertisements tailored to the characteristic viewing preferences of a user |
US8225231B2 (en) | 2005-08-30 | 2012-07-17 | Microsoft Corporation | Aggregation of PC settings |
US7600190B2 (en) * | 2005-11-15 | 2009-10-06 | Mitac Technology Corp. | Window switching method and system |
US20070136678A1 (en) * | 2005-11-23 | 2007-06-14 | Brown Michael W | Software process and method that allows a computer program to run in memory, but display as a digital graphic or text window |
US9817831B2 (en) * | 2005-12-30 | 2017-11-14 | Microsoft Technology Licensing, Llc | Monetization of multimedia queries |
US7620905B2 (en) * | 2006-04-14 | 2009-11-17 | International Business Machines Corporation | System and method of windows management |
US20070245250A1 (en) * | 2006-04-18 | 2007-10-18 | Microsoft Corporation Microsoft Patent Group | Desktop window manager using an advanced user interface construction framework |
US8683362B2 (en) * | 2008-05-23 | 2014-03-25 | Qualcomm Incorporated | Card metaphor for activities in a computing device |
US8893038B2 (en) * | 2006-10-03 | 2014-11-18 | International Business Machines Corporation | Graphical association of task bar entries with corresponding desktop locations |
JP2008147838A (en) * | 2006-12-07 | 2008-06-26 | Sony Corp | Image processor, image processing method, and program |
US20080168478A1 (en) | 2007-01-07 | 2008-07-10 | Andrew Platzer | Application Programming Interfaces for Scrolling |
US20080168402A1 (en) | 2007-01-07 | 2008-07-10 | Christopher Blumenberg | Application Programming Interfaces for Gesture Operations |
US7844915B2 (en) | 2007-01-07 | 2010-11-30 | Apple Inc. | Application programming interfaces for scrolling operations |
JP4772708B2 (en) * | 2007-01-29 | 2011-09-14 | コニカミノルタビジネステクノロジーズ株式会社 | Control device, control method, and control program |
EP1983414A1 (en) * | 2007-04-19 | 2008-10-22 | Research In Motion Limited | Multiple display window handling |
US8401536B2 (en) * | 2007-04-26 | 2013-03-19 | Nokia Corporation | Mobile communication terminal and method |
US7941749B2 (en) * | 2007-05-15 | 2011-05-10 | Microsoft Corporation | Composition of electronic document layout |
US20090037817A1 (en) * | 2007-07-30 | 2009-02-05 | Christopher Lee Bennetts | Source and preview panes for media content |
US20090049409A1 (en) * | 2007-08-15 | 2009-02-19 | Archos Sa | Method for generating thumbnails for selecting video objects |
US8024670B1 (en) * | 2007-10-30 | 2011-09-20 | Intuit Inc. | Workflow management using live thumbnails |
US20090144648A1 (en) * | 2007-12-04 | 2009-06-04 | Google Inc. | Tabbed windows for viewing multimedia programs |
TWI356337B (en) | 2007-12-26 | 2012-01-11 | Htc Corp | A user interface of electronic apparatus |
US8555193B2 (en) * | 2008-01-17 | 2013-10-08 | Google Inc. | System for intelligent automated layout and management of interactive windows |
US8490019B2 (en) * | 2008-01-29 | 2013-07-16 | Microsoft Corporation | Displaying thumbnail copies of each running item from one or more applications |
US20090199127A1 (en) * | 2008-01-31 | 2009-08-06 | Microsoft Corporation | Previewing target display areas |
US8839300B2 (en) | 2008-02-19 | 2014-09-16 | At&T Intellectual Property I, Lp | Method and system for presenting electronic programming guides |
US8416196B2 (en) | 2008-03-04 | 2013-04-09 | Apple Inc. | Touch event model programming interface |
US8717305B2 (en) | 2008-03-04 | 2014-05-06 | Apple Inc. | Touch event model for web pages |
US8645827B2 (en) | 2008-03-04 | 2014-02-04 | Apple Inc. | Touch event model |
US20140033171A1 (en) * | 2008-04-01 | 2014-01-30 | Jon Lorenz | Customizable multistate pods |
TWI361377B (en) | 2008-04-24 | 2012-04-01 | Htc Corp | Method for switching user interface, electronic device and recording medium using the same |
US20090315900A1 (en) * | 2008-06-23 | 2009-12-24 | Microsoft Corporation | Generic surface manager |
US9030418B2 (en) * | 2008-06-24 | 2015-05-12 | Lg Electronics Inc. | Mobile terminal capable of sensing proximity touch |
US8499254B2 (en) * | 2008-10-27 | 2013-07-30 | Microsoft Corporation | Surfacing and management of window-specific controls |
US8819585B2 (en) * | 2008-10-27 | 2014-08-26 | Microsoft Corporation | Child window surfacing and management |
US8381131B1 (en) * | 2009-01-22 | 2013-02-19 | Amdocs Software Systems Limited | System, method, and computer program for displaying tasks as interactive thumbnails for interaction therewith by a user |
CN101504658B (en) * | 2009-01-23 | 2011-09-28 | 北京搜狗科技发展有限公司 | Method and system for implementing message interaction in multi-tag application program |
JP5419486B2 (en) * | 2009-02-10 | 2014-02-19 | キヤノン株式会社 | Data processing apparatus, data processing method, and program |
US8566044B2 (en) | 2009-03-16 | 2013-10-22 | Apple Inc. | Event recognition |
US9311112B2 (en) * | 2009-03-16 | 2016-04-12 | Apple Inc. | Event recognition |
US8566045B2 (en) | 2009-03-16 | 2013-10-22 | Apple Inc. | Event recognition |
US9684521B2 (en) | 2010-01-26 | 2017-06-20 | Apple Inc. | Systems having discrete and continuous gesture recognizers |
US8285499B2 (en) | 2009-03-16 | 2012-10-09 | Apple Inc. | Event recognition |
US8427438B2 (en) * | 2009-03-26 | 2013-04-23 | Apple Inc. | Virtual input tools |
KR101601040B1 (en) * | 2009-05-19 | 2016-03-09 | 삼성전자주식회사 | Screen Display Method And Apparatus For Portable Device |
US20110099523A1 (en) * | 2009-10-28 | 2011-04-28 | Van Zee Pieter | Product selection and management workflow |
US9177298B2 (en) | 2009-12-15 | 2015-11-03 | International Business Machines Corporation | Abbreviated user interface for instant messaging to minimize active window focus changes |
US8698845B2 (en) * | 2010-01-06 | 2014-04-15 | Apple Inc. | Device, method, and graphical user interface with interactive popup views |
US10397639B1 (en) | 2010-01-29 | 2019-08-27 | Sitting Man, Llc | Hot key systems and methods |
US9823831B2 (en) | 2010-04-07 | 2017-11-21 | Apple Inc. | Device, method, and graphical user interface for managing concurrently open software applications |
AU2015202565B2 (en) * | 2010-04-07 | 2017-03-02 | Apple Inc. | Gesture based graphical user interface for managing concurrently open software applications |
US9513801B2 (en) | 2010-04-07 | 2016-12-06 | Apple Inc. | Accessing electronic notifications and settings icons with gestures |
US20110252376A1 (en) | 2010-04-07 | 2011-10-13 | Imran Chaudhri | Device, Method, and Graphical User Interface for Managing Concurrently Open Software Applications |
AU2015230769B2 (en) * | 2010-04-07 | 2017-08-31 | Apple Inc. | Gesture based graphical user interface for managing concurrently open software applications |
EP2385452A1 (en) * | 2010-05-06 | 2011-11-09 | Amadeus S.A.S. | Computer navigation method |
US10216408B2 (en) | 2010-06-14 | 2019-02-26 | Apple Inc. | Devices and methods for identifying user interface objects based on view hierarchy |
US8661369B2 (en) * | 2010-06-17 | 2014-02-25 | Lg Electronics Inc. | Mobile terminal and method of controlling the same |
US9612715B2 (en) * | 2010-06-28 | 2017-04-04 | International Business Machines Corporation | Real-time preview of uniform resource identifier addressable dynamic content |
US8866822B2 (en) | 2010-09-07 | 2014-10-21 | Microsoft Corporation | Alternate source for controlling an animation |
JP5635850B2 (en) * | 2010-09-16 | 2014-12-03 | 任天堂株式会社 | Information processing apparatus, information processing program, information processing system, and information processing method |
JP5440873B2 (en) * | 2010-09-30 | 2014-03-12 | ブラザー工業株式会社 | Device and program |
KR101685991B1 (en) * | 2010-09-30 | 2016-12-13 | 엘지전자 주식회사 | Mobile terminal and control method for mobile terminal |
US9244606B2 (en) | 2010-12-20 | 2016-01-26 | Apple Inc. | Device, method, and graphical user interface for navigation of concurrently open software applications |
US20120159395A1 (en) | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Application-launching interface for multiple modes |
US8689123B2 (en) | 2010-12-23 | 2014-04-01 | Microsoft Corporation | Application reporting in an application-selectable user interface |
US9423951B2 (en) | 2010-12-31 | 2016-08-23 | Microsoft Technology Licensing, Llc | Content-based snap point |
DE102010056603A1 (en) | 2010-12-31 | 2012-07-05 | Global IP Telecommunications Ltd. | Method of extending graphical user interface in data processing system, involves performing predefined operations by window associated application if internal event in which pointer is moved and window is maximized is occurred |
US20120185805A1 (en) * | 2011-01-14 | 2012-07-19 | Apple Inc. | Presenting Visual Indicators of Hidden Objects |
KR101831641B1 (en) * | 2011-02-11 | 2018-04-05 | 삼성전자 주식회사 | Method and apparatus for providing graphic user interface in mobile terminal |
EP3336672B1 (en) | 2011-02-11 | 2020-11-11 | Samsung Electronics Co., Ltd. | Method and apparatus for providing a graphic user interface in a mobile terminal |
US20120209413A1 (en) | 2011-02-14 | 2012-08-16 | Microsoft Corporation | Background Audio on Mobile Devices |
WO2012134479A1 (en) * | 2011-03-31 | 2012-10-04 | Hewlett-Packard Development Company, L.P. | Augmenting user interface elements |
US9298363B2 (en) | 2011-04-11 | 2016-03-29 | Apple Inc. | Region activation for touch sensitive surface |
US20120272178A1 (en) * | 2011-04-21 | 2012-10-25 | Opera Software Asa | Method and device for providing easy access in a user agent to data resources related to client-side web applications |
US9104307B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US9658766B2 (en) | 2011-05-27 | 2017-05-23 | Microsoft Technology Licensing, Llc | Edge gesture |
US9158445B2 (en) | 2011-05-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Managing an immersive interface in a multi-application immersive environment |
US8806369B2 (en) | 2011-08-26 | 2014-08-12 | Apple Inc. | Device, method, and graphical user interface for managing and interacting with concurrently open software applications |
US20130057587A1 (en) * | 2011-09-01 | 2013-03-07 | Microsoft Corporation | Arranging tiles |
US9557909B2 (en) | 2011-09-09 | 2017-01-31 | Microsoft Technology Licensing, Llc | Semantic zoom linguistic helpers |
US20130067390A1 (en) * | 2011-09-09 | 2013-03-14 | Paul J. Kwiatkowski | Programming Interface for Semantic Zoom |
US20130067412A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Grouping selectable tiles |
US8922575B2 (en) | 2011-09-09 | 2014-12-30 | Microsoft Corporation | Tile cache |
US10353566B2 (en) | 2011-09-09 | 2019-07-16 | Microsoft Technology Licensing, Llc | Semantic zoom animations |
US9146670B2 (en) | 2011-09-10 | 2015-09-29 | Microsoft Technology Licensing, Llc | Progressively indicating new content in an application-selectable user interface |
US20130067394A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Pointer invocable navigational user interface |
US11301345B2 (en) * | 2011-11-30 | 2022-04-12 | Red Hat, Inc. | Desktop sound source discovery |
US9207837B2 (en) | 2011-12-20 | 2015-12-08 | Nokia Technologies Oy | Method, apparatus and computer program product for providing multiple levels of interaction with a program |
US20130155112A1 (en) * | 2011-12-20 | 2013-06-20 | Nokia Corporation | Method, apparatus and computer program product for graphically transitioning between multiple program interface levels of a program |
US9128605B2 (en) * | 2012-02-16 | 2015-09-08 | Microsoft Technology Licensing, Llc | Thumbnail-image selection of applications |
EP3594797B1 (en) | 2012-05-09 | 2024-10-02 | Apple Inc. | Device, method, and graphical user interface for providing tactile feedback for operations performed in a user interface |
WO2013169845A1 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for scrolling nested regions |
JP6182207B2 (en) | 2012-05-09 | 2017-08-16 | アップル インコーポレイテッド | Device, method, and graphical user interface for providing feedback for changing an activation state of a user interface object |
WO2013169851A2 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for facilitating user interaction with controls in a user interface |
CN106201316B (en) | 2012-05-09 | 2020-09-29 | 苹果公司 | Apparatus, method and graphical user interface for selecting user interface objects |
WO2013169849A2 (en) | 2012-05-09 | 2013-11-14 | Industries Llc Yknots | Device, method, and graphical user interface for displaying user interface objects corresponding to an application |
CN108958550B (en) | 2012-05-09 | 2021-11-12 | 苹果公司 | Device, method and graphical user interface for displaying additional information in response to user contact |
WO2013169875A2 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for displaying content associated with a corresponding affordance |
WO2013169843A1 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for manipulating framed graphical objects |
WO2013169865A2 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input |
WO2013169842A2 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for selecting object within a group of objects |
KR101683868B1 (en) | 2012-05-09 | 2016-12-07 | 애플 인크. | Device, method, and graphical user interface for transitioning between display states in response to gesture |
CN108052264B (en) | 2012-05-09 | 2021-04-27 | 苹果公司 | Device, method and graphical user interface for moving and placing user interface objects |
CN103455260B (en) * | 2012-05-30 | 2016-03-09 | 腾讯科技(深圳)有限公司 | A kind of implementation method and device region in list being moved to operation |
US9563715B2 (en) | 2012-07-08 | 2017-02-07 | Htc Corporation | Method for performing information monitoring control of at least one target division block of at least one web page with aid of at least one monitoring control server, and associated apparatus and associated monitoring system |
CN103577176A (en) * | 2012-08-02 | 2014-02-12 | 腾讯科技(深圳)有限公司 | Method for realizing independent video play and mobile terminal device for realizing the method |
KR102183071B1 (en) * | 2012-12-06 | 2020-11-25 | 삼성전자주식회사 | Display apparatus for excuting plurality of applications and method for controlling thereof |
EP2741192A3 (en) | 2012-12-06 | 2016-09-14 | Samsung Electronics Co., Ltd | Display device for executing a plurality of applications and method for controlling the same |
JP6158947B2 (en) | 2012-12-29 | 2017-07-05 | アップル インコーポレイテッド | Device, method and graphical user interface for transitioning between relationships from touch input to display output |
JP6093877B2 (en) | 2012-12-29 | 2017-03-08 | アップル インコーポレイテッド | Device, method, and graphical user interface for foregoing generation of tactile output for multi-touch gestures |
EP2939095B1 (en) | 2012-12-29 | 2018-10-03 | Apple Inc. | Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics |
AU2013368445B8 (en) | 2012-12-29 | 2017-02-09 | Apple Inc. | Device, method, and graphical user interface for determining whether to scroll or select contents |
KR102301592B1 (en) | 2012-12-29 | 2021-09-10 | 애플 인크. | Device, method, and graphical user interface for navigating user interface hierachies |
CN103135987A (en) * | 2013-02-22 | 2013-06-05 | 北京小米科技有限责任公司 | Dynamic icon display method and device |
US9671926B2 (en) | 2013-02-22 | 2017-06-06 | Xiaomi Inc. | Method and terminal device for displaying dynamic icon |
KR102117937B1 (en) * | 2013-03-15 | 2020-06-02 | 엘지전자 주식회사 | Image display device and control method thereof |
US9658740B2 (en) | 2013-03-15 | 2017-05-23 | Apple Inc. | Device, method, and graphical user interface for managing concurrently open software applications |
US9477404B2 (en) | 2013-03-15 | 2016-10-25 | Apple Inc. | Device, method, and graphical user interface for managing concurrently open software applications |
US10656800B2 (en) * | 2013-03-29 | 2020-05-19 | Microsoft Technology Licensing, Llc | Visual configuration and activation |
CN103226473B (en) * | 2013-04-08 | 2016-08-17 | 小米科技有限责任公司 | A kind of arrangement figure calibration method, device and equipment |
TWI597659B (en) * | 2013-04-15 | 2017-09-01 | 晨星半導體股份有限公司 | Electronics and module for updating content to be shown before turning up display and method thereof |
US10452222B2 (en) | 2013-05-29 | 2019-10-22 | Microsoft Technology Licensing, Llc | Coordination of system readiness tasks |
US9733716B2 (en) | 2013-06-09 | 2017-08-15 | Apple Inc. | Proxy gesture recognizer |
RU2589854C2 (en) * | 2013-06-13 | 2016-07-10 | Олег Александрович Серебренников | System for creating and display schedules |
US20150046812A1 (en) | 2013-08-12 | 2015-02-12 | Google Inc. | Dynamic resizable media item player |
KR20150032097A (en) * | 2013-09-17 | 2015-03-25 | 삼성전자주식회사 | Apparatus for Displaying Image, Driving Method Thereby, and Method for Displaying Image |
US10007810B2 (en) * | 2013-10-05 | 2018-06-26 | Excalibur Ip, Llc | Alternate screen reveal for instant privacy |
KR102192155B1 (en) * | 2013-11-12 | 2020-12-16 | 삼성전자주식회사 | Method and apparatus for providing application information |
JP6241353B2 (en) * | 2014-04-01 | 2017-12-06 | セイコーエプソン株式会社 | Bidirectional display method and bidirectional display device |
GB2525198A (en) | 2014-04-15 | 2015-10-21 | Ibm | Controlling an application instance using a graphical user interface |
US10102664B1 (en) * | 2014-12-03 | 2018-10-16 | Charles Schwab & Co., Inc. | System and method for causing graphical information to be rendered |
US10095396B2 (en) | 2015-03-08 | 2018-10-09 | Apple Inc. | Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object |
US9645732B2 (en) | 2015-03-08 | 2017-05-09 | Apple Inc. | Devices, methods, and graphical user interfaces for displaying and using menus |
US10048757B2 (en) | 2015-03-08 | 2018-08-14 | Apple Inc. | Devices and methods for controlling media presentation |
US10489013B2 (en) * | 2015-03-17 | 2019-11-26 | International Business Machines Corporation | Intelligent taskbar shortcut menu for webpage control |
US9785305B2 (en) | 2015-03-19 | 2017-10-10 | Apple Inc. | Touch input cursor manipulation |
US20170045981A1 (en) | 2015-08-10 | 2017-02-16 | Apple Inc. | Devices and Methods for Processing Touch Inputs Based on Their Intensities |
KR20160141614A (en) * | 2015-06-01 | 2016-12-09 | 삼성전자주식회사 | Electronic device, storage medium and method for displaying data in electronic device |
US9860451B2 (en) | 2015-06-07 | 2018-01-02 | Apple Inc. | Devices and methods for capturing and interacting with enhanced digital images |
US9674426B2 (en) | 2015-06-07 | 2017-06-06 | Apple Inc. | Devices and methods for capturing and interacting with enhanced digital images |
WO2017022029A1 (en) | 2015-07-31 | 2017-02-09 | Eizo株式会社 | Display control device, display device, display system, and program |
KR102519424B1 (en) * | 2015-09-25 | 2023-04-10 | 삼성메디슨 주식회사 | Method of displaying a ultrasound image and apparatus thereof |
US10133446B2 (en) | 2016-03-23 | 2018-11-20 | Microsoft Technology Licensing, Llc | Content chase-ability for apps |
US10637986B2 (en) | 2016-06-10 | 2020-04-28 | Apple Inc. | Displaying and updating a set of application views |
US20180088565A1 (en) * | 2016-08-22 | 2018-03-29 | Fisher-Rosemount Systems, Inc. | Operator Display Switching Preview |
KR101873655B1 (en) * | 2016-11-30 | 2018-07-02 | 엘에스산전 주식회사 | Method for displaying a monitoring screen |
US10795532B1 (en) | 2019-03-14 | 2020-10-06 | International Business Machines Corporation | Interactive graphical user interface thumbnail |
CN110262720B (en) * | 2019-06-21 | 2021-06-08 | 网易(杭州)网络有限公司 | Floating window control method, device, equipment and storage medium |
WO2021158706A1 (en) | 2020-02-03 | 2021-08-12 | Apple Inc. | Cursor integration with a touch screen user interface |
CN111610912B (en) * | 2020-04-24 | 2023-10-10 | 北京小米移动软件有限公司 | Application display method, application display device and storage medium |
CN114721751B (en) * | 2020-12-18 | 2024-06-28 | 广州视源电子科技股份有限公司 | Window screenshot method and device, electronic equipment and storage medium |
US11175807B1 (en) * | 2021-02-03 | 2021-11-16 | Adobe Inc. | Intelligent contextual video thumbnail display |
CN115705229A (en) * | 2021-08-06 | 2023-02-17 | 北京小米移动软件有限公司 | Display control method and system, mobile terminal and storage medium |
US11579748B1 (en) | 2022-06-13 | 2023-02-14 | Illuscio, Inc. | Systems and methods for interacting with three-dimensional graphical user interface elements to control computer operation |
US11983382B2 (en) | 2022-06-13 | 2024-05-14 | Illuscio, Inc. | Systems and methods for generating three-dimensional menus and toolbars to control computer operation |
US11886685B1 (en) | 2022-10-20 | 2024-01-30 | Stardock Corporation | Desktop container peek interface |
US12086372B1 (en) * | 2023-03-29 | 2024-09-10 | Lenovo (Singapore) Pte. Ltd. | Unique window preview generation |
CN117348828B (en) * | 2023-09-27 | 2024-07-09 | 广东保伦电子股份有限公司 | WPF-based selective screen projection method, system, medium and equipment |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4651146A (en) | 1983-10-17 | 1987-03-17 | International Business Machines Corporation | Display of multiple data windows in a multi-tasking system |
US4653020A (en) | 1983-10-17 | 1987-03-24 | International Business Machines Corporation | Display of multiple data windows in a multi-tasking system |
GB2191917A (en) | 1986-06-16 | 1987-12-23 | Ibm | A multiple window display system |
JP2557358B2 (en) | 1986-12-26 | 1996-11-27 | 株式会社東芝 | Information processing device |
US5333256A (en) * | 1989-05-15 | 1994-07-26 | International Business Machines Corporation | Methods of monitoring the status of an application program |
JPH0511962A (en) | 1990-10-10 | 1993-01-22 | Fuji Xerox Co Ltd | Window management device |
JP2957316B2 (en) | 1990-11-20 | 1999-10-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Method and system for accessing multiple software applications |
JPH0580965A (en) * | 1991-09-25 | 1993-04-02 | Nec Aerospace Syst Ltd | Window display recognizing system |
US5307086A (en) * | 1991-10-08 | 1994-04-26 | International Business Machines Corporation | Method of implementing a preview window in an object oriented programming system |
EP0605945B1 (en) | 1992-12-15 | 1997-12-29 | Sun Microsystems, Inc. | Method and apparatus for presenting information in a display system using transparent windows |
US5412776A (en) | 1992-12-23 | 1995-05-02 | International Business Machines Corporation | Method of generating a hierarchical window list in a graphical user interface |
US5499334A (en) | 1993-03-01 | 1996-03-12 | Microsoft Corporation | Method and system for displaying window configuration of inactive programs |
US6040833A (en) | 1993-12-10 | 2000-03-21 | International Business Machines Corp. | Method and system for display manipulation of multiple applications in a data processing system |
US5657463A (en) | 1994-01-19 | 1997-08-12 | Apple Computer, Inc. | Method and apparatus for positioning a new window on a display screen based on an arrangement of previously-created windows |
DE69523593T2 (en) | 1994-06-17 | 2002-09-26 | Intel Corp | DEVICE AND METHOD FOR DIVIDING THE APPLICATION IN A GRAPHIC USER INTERFACE |
US5546528A (en) | 1994-06-23 | 1996-08-13 | Adobe Systems Incorporated | Method of displaying multiple sets of information in the same area of a computer screen |
DE69523543T2 (en) | 1994-12-13 | 2002-04-04 | Microsoft Corp | Taskbar with start menu |
US6072488A (en) | 1995-05-05 | 2000-06-06 | Apple Computer, Inc. | Systems and methods for replacing open windows in a graphical user interface |
US5675755A (en) | 1995-06-07 | 1997-10-07 | Sony Corporation | Window system preventing overlap of multiple always-visible windows |
US5874960A (en) | 1995-07-05 | 1999-02-23 | Microsoft Corporation | Method and system for sharing applications between computer systems |
US5712995A (en) | 1995-09-20 | 1998-01-27 | Galileo Frames, Inc. | Non-overlapping tiling apparatus and method for multiple window displays |
JPH09128192A (en) | 1995-10-26 | 1997-05-16 | Brother Ind Ltd | Multi-screen display controller |
US5880733A (en) | 1996-04-30 | 1999-03-09 | Microsoft Corporation | Display system and method for displaying windows of an operating system to provide a three-dimensional workspace for a computer system |
US5841435A (en) | 1996-07-26 | 1998-11-24 | International Business Machines Corporation | Virtual windows desktop |
JP3528451B2 (en) | 1996-07-26 | 2004-05-17 | ソニー株式会社 | Electronic program guide display control device and method |
US5892511A (en) | 1996-09-30 | 1999-04-06 | Intel Corporation | Method for assisting window selection in a graphical user interface |
US6008809A (en) | 1997-09-22 | 1999-12-28 | International Business Machines Corporation | Apparatus and method for viewing multiple windows within a dynamic window |
US7346850B2 (en) * | 1998-06-12 | 2008-03-18 | Cygnus Systems, Inc. | System and method for iconic software environment management |
JP2000105655A (en) * | 1998-09-29 | 2000-04-11 | Nec Software Kyushu Ltd | Window content display method |
US8595764B2 (en) * | 1999-06-25 | 2013-11-26 | Jlb Ventures, Llc | Image-oriented electronic programming guide |
US6724403B1 (en) * | 1999-10-29 | 2004-04-20 | Surfcast, Inc. | System and method for simultaneous display of multiple information sources |
US7028264B2 (en) * | 1999-10-29 | 2006-04-11 | Surfcast, Inc. | System and method for simultaneous display of multiple information sources |
US6724406B1 (en) * | 1999-11-10 | 2004-04-20 | International Business Machines Corporation | Method of controlling web applications from redirecting a client to another web address |
US6806892B1 (en) * | 1999-12-20 | 2004-10-19 | International Business Machines Corporation | Layer viewport for enhanced viewing in layered drawings |
US6606105B1 (en) * | 1999-12-22 | 2003-08-12 | Adobe Systems Incorporated | Layer enhancements in digital illustration system |
US20020163545A1 (en) * | 2001-05-01 | 2002-11-07 | Hii Samuel S. | Method of previewing web page content while interacting with multiple web page controls |
TW501072B (en) | 2001-05-09 | 2002-09-01 | Ulead Systems Inc | Visualization process method of image file and image editor having visualization process function and the readable storage medium of computer to store program |
WO2003025899A1 (en) | 2001-09-14 | 2003-03-27 | Genesys Telecommunications Laboratories, Inc. | Patch navigation utilizing smart patches as tabs with real-time status icons in a universal agent desktop application |
JP2003099173A (en) * | 2001-09-21 | 2003-04-04 | Canon Inc | Display screen controller |
JP2003162355A (en) * | 2001-11-26 | 2003-06-06 | Sony Corp | Display switching method of task, portable equipment, and portable communication equipment |
US7346855B2 (en) * | 2001-12-21 | 2008-03-18 | Microsoft Corporation | Method and system for switching between multiple computer applications |
US7010755B2 (en) * | 2002-04-05 | 2006-03-07 | Microsoft Corporation | Virtual desktop manager |
US7558318B2 (en) * | 2002-06-11 | 2009-07-07 | Sanyo Electric Co., Ltd. | Method and apparatus for processing images, method and apparatus for recording and reproducing images, and television receiver utilizing the same |
US7721216B2 (en) | 2002-06-18 | 2010-05-18 | Microsoft Corporation | Visual group interface for group connectivity |
JP2004219759A (en) * | 2003-01-15 | 2004-08-05 | Chi Mei Electronics Corp | Image display processing method, image display processing apparatus, image display device, and image display processing system |
US7343567B2 (en) * | 2003-04-25 | 2008-03-11 | Microsoft Corporation | System and method for providing dynamic user information in an interactive display |
KR100971920B1 (en) * | 2003-06-02 | 2010-07-22 | 디즈니엔터프라이지즈,인크. | System and method of programmatic window control for consumer video players |
US7757182B2 (en) * | 2003-06-25 | 2010-07-13 | Microsoft Corporation | Taskbar media player |
US7665031B2 (en) * | 2004-12-08 | 2010-02-16 | Microsoft Corporation | Method and system of taskbar button interfaces |
US7478326B2 (en) | 2005-01-18 | 2009-01-13 | Microsoft Corporation | Window information switching system |
-
2005
- 2005-04-22 US US11/111,983 patent/US7673255B2/en active Active
- 2005-08-24 MY MYPI20053788A patent/MY147084A/en unknown
- 2005-08-25 RU RU2007138968/08A patent/RU2409833C2/en active
- 2005-08-25 ES ES05789924.7T patent/ES2634676T3/en active Active
- 2005-08-25 KR KR1020077024094A patent/KR101278771B1/en active IP Right Grant
- 2005-08-25 EP EP05789924.7A patent/EP1872194B1/en active Active
- 2005-08-25 RU RU2010135599/08A patent/RU2569802C2/en active
- 2005-08-25 WO PCT/US2005/030314 patent/WO2006115531A1/en active Application Filing
- 2005-08-25 BR BRPI0520186-1A patent/BRPI0520186B1/en active IP Right Grant
- 2005-08-25 MX MX2007013102A patent/MX2007013102A/en active IP Right Grant
- 2005-08-25 EP EP12162133.8A patent/EP2474901B1/en active Active
- 2005-08-25 CA CA2605601A patent/CA2605601C/en active Active
- 2005-08-25 JP JP2008507639A patent/JP4981032B2/en active Active
- 2005-09-02 TW TW101107704A patent/TWI533147B/en not_active IP Right Cessation
- 2005-09-02 TW TW094130191A patent/TWI394052B/en not_active IP Right Cessation
-
2010
- 2010-02-05 US US12/701,344 patent/US9733954B2/en active Active
-
2017
- 2017-07-21 US US15/656,185 patent/US20170322818A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9836198B2 (en) | 2014-11-28 | 2017-12-05 | Inventec (Pudong) Technology Corporation | Selection method for selecting content in file |
Also Published As
Publication number | Publication date |
---|---|
RU2010135599A (en) | 2012-02-27 |
RU2569802C2 (en) | 2015-11-27 |
EP2474901B1 (en) | 2017-05-31 |
KR101278771B1 (en) | 2013-06-25 |
TWI533147B (en) | 2016-05-11 |
RU2007138968A (en) | 2009-04-27 |
US7673255B2 (en) | 2010-03-02 |
US20060242602A1 (en) | 2006-10-26 |
US9733954B2 (en) | 2017-08-15 |
EP1872194A4 (en) | 2010-02-24 |
ES2634676T3 (en) | 2017-09-28 |
MX2007013102A (en) | 2008-01-14 |
US20100138773A1 (en) | 2010-06-03 |
EP1872194A1 (en) | 2008-01-02 |
RU2409833C2 (en) | 2011-01-20 |
BRPI0520186B1 (en) | 2017-11-21 |
EP1872194B1 (en) | 2017-04-26 |
MY147084A (en) | 2012-10-31 |
EP2474901A1 (en) | 2012-07-11 |
WO2006115531A1 (en) | 2006-11-02 |
CA2605601C (en) | 2012-08-21 |
KR20080002847A (en) | 2008-01-04 |
US20170322818A1 (en) | 2017-11-09 |
TWI394052B (en) | 2013-04-21 |
BRPI0520186A2 (en) | 2009-04-22 |
JP4981032B2 (en) | 2012-07-18 |
CA2605601A1 (en) | 2006-11-02 |
JP2008538631A (en) | 2008-10-30 |
TW200638222A (en) | 2006-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI533147B (en) | Interface and system for manipulating thumbnails of live windows in a window manage | |
US7681143B2 (en) | System and method for providing a window management mode | |
US9626162B2 (en) | System and method for building graphical instrument panels | |
US7716685B2 (en) | Pluggable window manager architecture using a scene graph system | |
US7506265B1 (en) | System and method for displaying images of virtual machine environments | |
US6802055B2 (en) | Capturing graphics primitives associated with any display object rendered to a graphical user interface | |
US7516400B2 (en) | Layout system for consistent user interface results | |
US20070216712A1 (en) | Image transformation based on underlying data | |
US20040236790A1 (en) | Systems and methods for digital document processing | |
US20050138567A1 (en) | Method of realistically displaying and interacting with electronic files | |
US7412661B2 (en) | Method and system for changing visual states of a toolbar | |
US20020075327A1 (en) | Method and apparatus for high-performance rendering and hit-testing of a window tree | |
US5745713A (en) | Movie-based facility for launching application programs or services | |
JP2003531429A (en) | Digital document processing | |
Feske et al. | Genode FX: an FPGA-based GUI with Bounded Output Latency and Guaranteed Responsiveness to User Input | |
James et al. | The Windows User Interface | |
Thomas et al. | Y: A Successor to the x Window System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |