EP1156416A2 - Verfahren zum Editieren eines mit einer graphischen Benuteroberfläche assozierten Darstellungsthemas - Google Patents

Verfahren zum Editieren eines mit einer graphischen Benuteroberfläche assozierten Darstellungsthemas Download PDF

Info

Publication number
EP1156416A2
EP1156416A2 EP01117551A EP01117551A EP1156416A2 EP 1156416 A2 EP1156416 A2 EP 1156416A2 EP 01117551 A EP01117551 A EP 01117551A EP 01117551 A EP01117551 A EP 01117551A EP 1156416 A2 EP1156416 A2 EP 1156416A2
Authority
EP
European Patent Office
Prior art keywords
theme
gui
gui object
appearance
library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP01117551A
Other languages
English (en)
French (fr)
Other versions
EP1156416A3 (de
Inventor
Robert R. Ulrich
Robert G. Johnston, Jr.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22916814&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=EP1156416(A2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of EP1156416A2 publication Critical patent/EP1156416A2/de
Publication of EP1156416A3 publication Critical patent/EP1156416A3/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Definitions

  • Windows are one example of desktop objects which can be virtually any size, shape, or color.
  • Some standard types of windows are commonly predefined for the interface including, for example, a document window and a dialog box.
  • a document window is illustrated in Figure 2A.
  • Each document window which conforms to this standard has a title bar with a title drawn in a system-defined font and color.
  • Active document windows can also have controls as illustrated in Figure 2A, for example, a close box, a zoom box, a size box, and scroll bars.
  • nonstandard window types can define their own nonstandard window types as desired, although each nonstandard window requires a relatively large block of memory. Further, even these nonstandard window types provide only limited flexibility and control over the appearance and behavior of desktop objects in that they are application-specific and do not present a consistent interface across all applications, i.e., if three different applications are running, each might present a different "look" on desktop. Once again, the user has no control over the appearance and/or behavior of these nonstandard window objects.
  • window format including the appearance, behavior and function of standard windows and window parts
  • these applications are written to take advantage of such knowledge.
  • Figure 3 suppose, for example that an application 10 desires to draw a rectangle in the color of the title bar (beige, in this example) in a window (not shown on the desktop).
  • the application assumes knowledge of the color of the title bar when using predefined standard window definitions 25 and, if this application uses window definitions created by the application itself, the application will have actual knowledge of colors defined by those windows. Accordingly, the application will simply send a command to the interface instructing that a beige rectangle be drawn in the window.
  • the window definition 25 includes all of the data necessary to define the window. Looking at the active window illustrated in Figure 1, data included in the window definition 25 for such an active window would include, for example, the size of the window, the relative location of the close box and zoom box in the upper lefthand and righthand corners, respectively; the number of parallel lines and their locations relative to the close box and the zoom box, and the upper boundary of the window and all of the other defining features of that particular window.
  • the application supplies the variable parameters such as the location of the window on the desktop interface and, perhaps, the colors and/or fonts to be used for the text and/or figures in the window.
  • the window definitions can include a large amount of data and, therefore, can require a large amount of memory for each definition.
  • an improved visual appearance can be provided to GUIs by providing an appearance management layer that gives users (both application developers and end users) the ability to customize the appearance and behavior of the desktop.
  • This layer can be provided between all of the clients, e.g., applications, the end user, definition procedures, and the graphic subsystem which actually writes to the display. In this way, a level of abstraction is provided between the client and the system so that customization can be facilitated without requiring the client to have a detailed knowledge of the interface environment, which may be constantly changing.
  • Themes can be created which include sets of desktop objects that are designed, both in their visual appearance and behavior, to project an overall impression to the area.
  • the user can switch between themes, even at runtime, to change this overall impression.
  • a third category of attributes also exists for some windows and window parts. These windows and window parts exhibit a behavior when acted on by a user which is distinct from the underlying function of these objects, i.e., when a user clicks on a close button using a mouse, the button becomes shaded in such a way that it appears depressed prior to the window actually closing.
  • exemplary embodiments of the present invention provide users (the term users as applied throughout this document refers to both end users of applications, application developers and other individuals who use or invoke operating systems) with the capability to alter the appearance and behavior of object and object parts, but preferably not the underlying function thereof. It will be understood by those skilled in the art that the principles described herein are equally applicable to systems and methods in which the functional attributes can also be varied by users. However, standardization of system functionality provides certain advantages so that exemplary embodiments of the present invention separate functional manipulation from manipulation of the other attributes.
  • Switchable pointers 44 and drawing procedures 46 provide the basic building blocks which allow the geometry of each interface object as well as the behavior of each object's controls to be manipulated in a consistent and replaceable fashion. By switching the pointers 44 to the drawing procedures 46, or by switching the data used by the procedures 46, the appearance and behavior of the interface can be readily changed.
  • the appearance management layer 40 is responsible for orchestrating various changes which allow switching of the user interface's appearance and behavior. Two exemplary ways in which the drawing procedures can be switched will now be described here.
  • all of the utilities which support switchable drawing procedures will be called to "disconnect" all of the drawing procedures for each of the interface objects supported by that particular utility. In essence, this amounts to sending a dispose message to the drawing procedure for each and every utility object element currently in existence. The utility then is called to swap pointers 44 to the drawing procedures. For example, if window drawing procedure A is being replaced by window drawing procedure B, the window drawing utility will be asked to replace all of its references to procedure A with references to procedure B. This process will occur for each drawing procedure that is switched out. Lastly, every drawing procedure for every utility interface element should be sent an initialize message and the display will be completely redrawn.
  • system-provided drawing procedures map directly from existing procedures to provide compatibility with existing systems.
  • each individual drawing procedure will correspond to a conventional procedure (e.g., WDEF0, WDEF1, CDEF0, CDEF1).
  • This mapping can be accomplished, for example, by the exemplary mapping procedure illustrated below in pseudocode form.
  • This exemplary procedure can handle loading both conventional drawing procedures as well as the new drawing procedures.
  • the first step is to determine the resource ID of the procedure being called. This will load either an old style procedure located in a resource chain or a stub resource from the system file.
  • Stub resources are modules which, when invoked, decode a conventional procedure's message and call the corresponding new drawing procedure based on the decoded message.
  • a utility creates a new interface object using a drawing procedure it will also load an appropriate stub resource and store its value in a procedure handle field of the object's data structure. Since the utilities can switch the drawing procedure that they call, the ability to dynamically change the set of drawing procedures which create the interface objects is now available.
  • the data structures which are used to drive the structural procedures according to this exemplary embodiment of the present invention can be categorized as interface geometry elements data and interface behavior elements data.
  • An object geometry is specified by a list of arbitrary geometry objects that are linked together with a simple rule based view system. Each of the geometry objects are arbitrary in size and shape and may repeat in either a horizontal or vertical direction. Drawing procedures such as window drawing procedures (e.g., WDEFs), and menu drawing procedures (e.g., MDEFs), can use these geometry resources to calculate and draw the structure region of an interface object, e.g., a window or a menu.
  • Opcodes Specify edges of glyphs in object by offsets.
  • Glyph List Points to data structure for each glyph.
  • Geometry Part List Combines glyphs with boundaries. Existence State Table All boundaries and geometry parts indicate when they exist in the object.
  • the resources that define this geometry model can be broken into four parts as seen in Table A, above.
  • Table A there are a list of operation codes which place horizontal and vertical boundaries that will be used to specify the edges of glyphs in the object.
  • Each boundary can be placed relative to a reference, which is either part of a parent shape (e.g., a rectangle that defines a window's, or other object's, workspace) or a previously defined boundary.
  • the offset can either be a constant or some other value recognized by the system, such as the height of a window's title.
  • a limit can be specified such that the new boundary will fall between the limit boundary and the reference boundary. Limit boundaries allow geometry elements to disappear when the parent shape becomes too small to support them.
  • a geometry resource can also contain a list of glyphs.
  • Each glyph can be derived from a pattern of pixels, a bitmapped image or an icon.
  • each glyph can also specify on which corner it is anchored to allow it to be drawn in the correct direction.
  • a window may be required to have a close box or button part but may also include many optional parts that are used to enhance the appearance of the window.
  • all boundaries and parts can specify in which states they exist. For example, a close box part and perhaps one or more of its boundaries might not exist in the inactive state of a window. This yspecification reduces the amount of computation and drawing that is done in any particular state.
  • Each interface element has a predefined set of states that may be used when traversing the geometry resources. Another use for this mechanism is to change the appearance of a part in a special state of the object. For example, to change the appearance of a window's bottom edge when the glyph is deactivated, two bottom edge parts can be defined that use different glyphs. One of these parts might exist only when the window is active, the other when the window is inactive.
  • FIG. 5 An exemplary table of glyphs appended as Figure 5 illustrate a set of glyphs which can be used to render a document window in an exemplary theme as shown in Figure 2B.
  • the horizontal and vertical boundaries are constructed so as to locate all of these glyphs around the content shape of the window to produce the desired look for this theme.
  • Data driven drawing procedures can use a common mechanism that implements state tables. These state tables contain bitmaps or glyphs for each state of the control represented thereby as well as information about transitions from one state to another. Each transition may contain one or more of, for example, an animation sequence, a sound or a routine to implement a custom transition, e.g., an algorithmic display or any other type of transitional effect.
  • state diagrams for each object and object part of the user interface, a template can be created that allows a theme designer to place customized glyphs for each state of the control and also to customize the transitions between states of the control as desired.
  • An exemplary state diagram is shown as Figure 6 which provides an example of the possible states and most common state transitions for a checkbox control of a window object.
  • this exemplary checkbox has nine possible states . which can be displayed. These states include three highlighted states for each of the control's three values.
  • states Q1 In normal use, when a user clicks on an unchecked checkbox (state Q1), this action moves the control to its pressed state (state Q4). After the mouse is released, the control returns back to its original state (state Q1) and the application is notified of the button which has been pressed. The application then switches the value of the control to its new value, which might be checked (state Q2).
  • a matrix for these transitions can be provided. Note for example the exemplary matrix illustrated in Figure 7.
  • a theme designer can provide a visual and/or audio output such as an animation, sound, a custom transition procedure which can perform some type of algorithmic transition, e.g., a kaleidoscopic display or any combination thereof.
  • Custom drawing procedures can inherit from the system provided appearance using a form known as delegation or forwarding. Delegation involves passing control on to another object when inherited behavior is desired. To determine the particular object to which the drawing procedure should delegate in a dynamically changing interface, either the client can call in to the system or the system can track current implementations. According to exemplary embodiments, this burden can be placed on the system by providing an additional layer of redirection. As seen in Figure 8, the utility 61 calls the custom drawing procedure 63. The drawing procedure 63 inherits from the switcher 65 which delegates to the appropriate implementation 67 or 69. An example of this type of inheritance will now be described using menu drawing procedures.
  • a theme can provide a menu drawing procedure which controls drawing standard menus for that theme. While many applications have customized menu items, a theme may only change the appearance or behavior of a single item in the menu while letting the remaining menu items appear and behave as they do when the system default theme is in control.
  • the application can intercept the command to draw a menu item from the utility issuing the command. If the menu item to be drawn is an item whose appearance and/or behavior has been customized by the theme, then the theme's menu drawing procedure can be used to draw that item. Otherwise, the inherited code pointed to by the switcher object can be called to draw the item.
  • the theme's custom menu drawing procedure only overrides the system to draw that item, with any other items being drawn using the inherited code. ⁇
  • a mechanism including a pattern look-up table.
  • An index in a pattern look-up table references data for a color, a pattern defined on a pixel-by-pixel basis, bitmapped image or the other data, so that the client need not know anything about the datatype contained in the pattern look-up table entry.
  • the significance of this data independence is that a theme having solid-colored windows, for example, can be changed to instead draw the windows in a complex pattern, without changing the theme source code simply by editing the table entries.
  • pattern or “patterns”
  • it is intended to denote any type of graphic data that can be used in a pattern look-up table to draw in a graphics port. As such, this may be a solid color defined in terms of its red, green and blue (RGB) components, or a pattern defined on a pixel-by-pixel basis, e.g. a PixPat, or a new type of data.
  • RGB red, green and blue
  • a client 60 sends a command ThemeFillRect (kColorIndex) to the appearance management layer.
  • This command is one of a set of drawing primitives implemented by the appearance management layer 40.
  • it is a command to draw a rectangle that is filled with the pattern specified as kColorIndex.
  • the value of kColorIndex corresponds to a predetermined object or object part on the desktop. For example, index 3 might correspond to the window title color.
  • the client 60 need have no knowledge of the particular color which is currently being implemented as the window title color, but only the absolute index which identifies that color.
  • the kColorIndex parameter has a corresponding entry in the part index table 62. This entry maps into the theme pattern look-up table 64. As described previously, the entries in the theme pattern look-up table 64 can include any type of color or pattern data in any format. For the purposes of this example suppose that the entry in the part index table corresponding to the value of kColorIndex maps into a pattern called 'xpat' referring to a black and white criss-cross pattern. 'Xpat' has a corresponding entry in the pattern definition procedure table 66 where the procedure for drawing this black and white criss-cross pattern is located.
  • This table includes a procedure pointer 68 which translates the commands defined by the 'xpat' record into commands which are recognized by the graphic subsystem 56 used by the system to draw the pattern onto the display. These commands are then sent to the graphic subsystem which displays the pattern at the appropriate point on the desktop interface.
  • the appearance management layer 40 does not command the graphic subsystem 56, but simply acts essentially as a pattern/color database.
  • a get theme pattern command is sent to the appearance management layer 40, instead of the drawing primitive in Figure 8.
  • the appearance management layer returns a pattern structure which can be rendered by the graphic subsystem in the currently implemented theme for the particular interface object or object part requested in the get theme pattern command, to the client which then sends its own command to the graphic subsystem to draw the appropriate pattern and/or color on the desktop interface.
  • This alternate exemplary embodiment also has the benefits described herein with respect to abstracting the pattern/color combination from the interface.
  • the appearance management layer recognizes a set of drawing primitives which can be, for example, derived from those used by the system's graphic subsystem (for example, QuickDraw). These primitives can have the same calling sequence as their counterparts in the graphic subsystem, but use indices into the theme pattern table to specify the color and/or pattern details of the requested drawing command. Exemplary drawing primitives are illustrated below along with descriptions in italics.
  • Pattern look-up tables are provided as part of the package which handles drawing requests, either with the aforedescribed drawing primitives or alone, which tables will now be described in somewhat more detail.
  • a pattern data structure holds the data necessary to draw a pattern. It can have, for example, the following structure:
  • the pattern data structure can be, for example, an eight-byte structure used to store pattern and/or color information. If the data required for the pattern is more than eight bytes long, it can be stored in a handle and the handle placed in the pattern data structure.
  • a pattern definition procedure, described below, is a component which is responsible for the loading and interpretation of a pattern data structure.
  • the pattern look-up table specifies the list of colors and patterns used by a theme.
  • a pattern look-up table contains a list of records, e.g., Pattern Spec record 'xpat' in Figure 9, each of which is typed and references a specialized procedure to load, unload and draw.
  • Pattern look-up tables may be created in memory by applications to allow them the benefits of a pattern look-up table within the application.
  • An exemplary application program interface (API) for creating pattern look-up tables is described below.
  • a pattern definition procedure When a pattern definition procedure is installed, it can be added to an internal pattern definition table. For speed, these pattern definition procedures can be referenced by index rather than type in the pattern look-up table.
  • the pattern definition table is scanned and the index of the definition for the pattern type is inserted into the record for the new pattern. As new types are added, they can be added at the end of the list.
  • the appearance management layer also defines a range of common pattern indices that can be included in each theme's pattern look-up table so that these indices are available to all clients. These include the set of patterns used to generate bevels and groups, along with other useful patterns, for example, the current background of the menu bar. The current background of the menu bar index may be passed to one of the standard theme drawing routines to draw shapes in the menu bar color. Below, for illustration purposes, an exemplary set of such common pattern indices is defined.
  • a theme may define additional types which are used internally. These additional types can be indexed sequentially starting from whatever next highest index is available, e.g., 16384 in the example given above.
  • the command RGBColor specifies a red, blue or green color combination with which to draw an object or object part.
  • ColorPattern describes a two-color 8x8 pixel pattern with a fore and backcolor, each specified with an RGBColor.
  • An exemplary definition of a ColorPattern type is shown below:
  • a PixPat type specifies an arbitrary pattern defined on a per-pixel basis, wherein a designated area may be filled or drawn with the pattern contents by the graphics subsystem.
  • the PixPat (Pixel Pattern) data structure is defined by the graphics subsystem, and is used to contain this per-pixel pattern.
  • each of the glyphs illustrated in Figure 5 can have a multitude of variations from which a user can create his or her own document window (both active and inactive).
  • the new interface object can be stored in the library of interface objects from which user-defined themes can be created.
  • Figure 12 illustrates interactions between, for example, a theme 70, the appearance management layer 40, and an application 38.
  • block 48 includes the pattern tables as discussed above, and block 54 contains the animation and sound utilities which supplement the runtime routines of block 52.
  • an icon 68 is shown which diagrammatically illustrates an appearance control panel 69, e.g., the panel of Figure 10, which an end user can operate to switch themes.
  • a current theme's resource chain 72 is opened and managed by the theme switching 50 and runtime routines 52.
  • the resource chain 72 can include, for example, a theme attributes property list (e.g., behavior matrices as described above), theme preferences (e.g., a preferred background pattern, preferred system font, etc.), theme data resources (e.g., the pattern table which defines the set of patterns and colors used by the theme, pattern code procedures which allow definition of new pattern types, etc.) and override resources (e.g., icons for the theme which overrides system icons).
  • the theme resource chain can be maintained separately from the resources of the currently running application, and can be switched in and out in response to a demand by either an application or a user (appearance control panel).
  • the theme's resource chain 72 is setup whenever the appearance management layer 40 calls any of the theme's code.
  • Figure 14 illustrates steps that can be executed to switch from an old theme to a new theme.
  • a transition effect can be presented as block 116.
  • the screen may fade to black, a dialog can be presented, or the themes could gradually blend from one to the other, e.g., "morphing".
  • the old theme's resource chain is switched in as described by block 118. All of the drawing procedures are called with a deallocate message.
  • These messages 120 are sent to the appearance management layer's switcher definition procedures, which are currently routing messages to the old theme's implementations of the definition procedures. This allows any of the theme's definition functions to deallocate any global data that they may have been allocated.
  • the appearance management layer sets the new theme info record as the current theme's information record at 122. Once the new theme info record is set, all of the external calls into the appearance management layer will affect the new theme.
  • the new theme's resource chain is switched in at block 124. All of the drawing procedures are called with an initialize message. These messages are sent to the appearance management layer's switcher resources, which are currently routing messages to the new theme's implementations of the drawing procedures. This allows any of the theme's definition functions to allocate any global data that they may need.
  • the steps executed to release the old theme file are shown in Figure 15.
  • the old theme's deallocate function is called at 130.
  • the theme is responsible for disposing of any allocations that it may have made when it received its initialize message.
  • the old pointer table used by the switcher definition procedures is disposed of per block 132.
  • the old theme's pattern look-up table and property list are disposed of as denoted by blocks 134 and 136, respectively.
  • the files in the old theme's resource chain can then be closed and the resource chain disposed of prior to disposing of the old theme's theme info record (blocks 138 and 140).
  • the switch is aborted and the set theme function attempts to reverse all of the steps that have already successfully completed so that the system continues to generate an interface using the old theme.
  • the error that caused the switch to abort can be returned by this function.
  • an FSSpec parameter to the system file or NIL can be passed in the themefile parameter.
  • a get theme function can be called, for example by the command: OSErr GetTheme (FSSpec *currentThemeSpec)
  • An FSSpec parameter value referencing the currently active theme file will be returned in the currentThemeSpec parameter. If the current theme is the default system theme, an FSSpec referencing the system file will be returned. If an error occurs while attempting to locate the FSSpec of the current theme, an appropriate error code will be returned and the currentThemeSpec parameter will remain unchanged.
  • the current theme's resource file is not present in the currently running application's resource chain. This can be done to prevent resource identification conflicts between applications, the operating system and the current theme.
  • the appearance management layer maintains a separate resource chain that contains the current theme file and any other files that the current theme may have opened (such as a preferences file).
  • the appearance management layer executes code in the theme, the theme's resource chain is setup by the appearance management layer, which allows for normal GetResource calls to be used to get theme resources. If an application wishes to gain access to the current theme's resources, several functions can be provided.
  • a get theme resource function can be called, for example: Handle GetThemeResource (OSType restype, UIntl6 id) GetThemeResource has the same function as the GetResource function, except that this command gets the resource from the current theme's resource chain.
  • the low-level appearance management layer function GetThemeTopMapHandle may be used to get the top of the current theme's resource chain.
  • OSErr GetThemeTopMapHandle (Handle *themeMap)
  • the GetThemeTopMapHandle function returns the top map handle that contains the current theme file and any other opened theme files (such as a preferences file) and all of the system resource maps. Caution should be exercised when using the GetThemeTopMapHandle function to avoid leaving the theme's resource chain switched in when executing utility functions or after returning to other parts of an application's code. When the theme's resource chain is switched in, the application's resource chain is unavailable. Note also that when the theme changes, this map handle and associated resources will no longer be valid, so this value should not be cached.
  • a theme can implement three theme definition functions that the appearance management layer calls when a theme is being loaded or disposed of.
  • the theme's function can be called.
  • pascal OSErr ThemeFilePreflight void *themedata
  • the theme's test function is called before any resources are loaded by the appearance management layer. In this way, the theme has an opportunity to test the conditions of the operating system (such as memory or graphics capability). If the test function returns an error, the appearance management layer will close the theme file and not attempt to continue loading. If the test function returns no error, the appearance management layer continues to load the theme, as described above.
  • the theme's initialize function When the appearance management layer is finished loading all of the theme's resources and loading each of the theme's standard definition procedures, the theme's initialize function is called, for example: pascal OSErr ThemeFileInitialize (void *themedata)
  • the theme's initialize function can be used to do any special processing after the appearance management layer has completely loaded the theme. It may allocate data structures, load additional resources, open preferences files, setup its theme property list, etc.
  • the themedata parameter points to a global storage location useful for storing a pointer to the themes global data. If the theme's initialize function returns an error, the appearance management layer will abort the switch to the theme. The appearance management layer will dispose of any allocations it has already made and close the theme file.
  • the theme's dispose function is called, for example: pascal OSErr ThemeFileDispose (void *themedata)
  • the dispose function should dispose of any allocations that were made with either the test or initialize functions.
  • the theme file then has an opportunity to store any resources in its preferences file and/or set its theme properties. After the theme returns from this function, the appearance management layer will deallocate all of the appearance management layer's storage for the theme and close the theme's file.
EP01117551A 1994-05-16 1995-05-16 Verfahren zum Editieren eines mit einer graphischen Benuteroberfläche assozierten Darstellungsthemas Withdrawn EP1156416A3 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US24296394A 1994-05-16 1994-05-16
EP95920518A EP0760126B1 (de) 1994-05-16 1995-05-16 Abstraktion von mustern und farben in einer graphischen benutzerschnittstelle
US242963 2002-09-13

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
EP95920518A Division EP0760126B1 (de) 1994-05-16 1995-05-16 Abstraktion von mustern und farben in einer graphischen benutzerschnittstelle

Publications (2)

Publication Number Publication Date
EP1156416A2 true EP1156416A2 (de) 2001-11-21
EP1156416A3 EP1156416A3 (de) 2007-07-18

Family

ID=22916814

Family Applications (2)

Application Number Title Priority Date Filing Date
EP95920518A Expired - Lifetime EP0760126B1 (de) 1994-05-16 1995-05-16 Abstraktion von mustern und farben in einer graphischen benutzerschnittstelle
EP01117551A Withdrawn EP1156416A3 (de) 1994-05-16 1995-05-16 Verfahren zum Editieren eines mit einer graphischen Benuteroberfläche assozierten Darstellungsthemas

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP95920518A Expired - Lifetime EP0760126B1 (de) 1994-05-16 1995-05-16 Abstraktion von mustern und farben in einer graphischen benutzerschnittstelle

Country Status (5)

Country Link
US (4) US5963206A (de)
EP (2) EP0760126B1 (de)
AU (1) AU2594595A (de)
DE (1) DE69525338T2 (de)
WO (1) WO1995031776A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1698981A2 (de) * 2005-03-03 2006-09-06 Microsoft Corporation Einfaches Styling
US7418668B2 (en) 2005-11-30 2008-08-26 Microsoft Corporation Glass appearance window frame colorization
WO2010057971A1 (en) * 2008-11-24 2010-05-27 Tat The Astonishing Tribe Ab Methods and apparatuses for flexible modification of user interfaces

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6404433B1 (en) 1994-05-16 2002-06-11 Apple Computer, Inc. Data-driven layout engine
DE69525338T2 (de) * 1994-05-16 2002-10-24 Apple Computer Abstraktion von mustern und farben in einer graphischen benutzerschnittstelle
US5995102A (en) * 1997-06-25 1999-11-30 Comet Systems, Inc. Server system and method for modifying a cursor image
US7111254B1 (en) * 1997-06-25 2006-09-19 Comet Systems, Inc. System for replacing a cursor image in connection with displaying the contents of a web page
US6628247B2 (en) * 1998-04-27 2003-09-30 Lear Automotive Dearborn, Inc. Display system with latent image reduction
US6392671B1 (en) * 1998-10-27 2002-05-21 Lawrence F. Glaser Computer pointing device having theme identification means
US6700588B1 (en) * 1998-11-09 2004-03-02 Broadcom Corporation Apparatus and method for blending graphics and video surfaces
US6577350B1 (en) * 1998-12-21 2003-06-10 Sony Corporation Method and apparatus for displaying an electronic program guide
US6762770B1 (en) * 1999-10-29 2004-07-13 Apple Computer, Inc. Method and system for the representation of color and other attributes in bitmap fonts
IL132929A (en) * 1999-11-14 2004-09-27 Ycd Multimedia Dynamic user interface
USD757052S1 (en) 2000-01-04 2016-05-24 Apple Inc. Computer display screen with graphical user interface
US7216304B1 (en) * 2000-01-05 2007-05-08 Apple Inc. Graphical user interface for computers having variable size icons
US6753885B2 (en) * 2000-04-06 2004-06-22 Microsoft Corporation System and theme file format for creating visual styles
US20050091576A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
US6873337B1 (en) * 2000-04-06 2005-03-29 Microsoft Corporation Application programming interface for changing the visual style
US20010048448A1 (en) * 2000-04-06 2001-12-06 Raiz Gregory L. Focus state themeing
US7137066B2 (en) * 2000-04-06 2006-11-14 Microsoft Corporation Binary cache file format for themeing the visual appearance of a computer system
US6886135B2 (en) * 2000-04-07 2005-04-26 Microsoft Corp. Extensible schema for defining the visual appearance of computer system components
JP2003532189A (ja) * 2000-04-19 2003-10-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ グラフィカルユーザインタフェースを適応させるための方法及び装置
US6763497B1 (en) * 2000-04-26 2004-07-13 Microsoft Corporation Method and apparatus for displaying computer program errors as hypertext
US6738049B2 (en) * 2000-05-08 2004-05-18 Aquila Technologies Group, Inc. Image based touchscreen device
US7941756B1 (en) * 2000-05-22 2011-05-10 Realnetworks, Inc. System and method for creating and displaying classes of graphical display objects
WO2003026275A2 (en) 2001-09-19 2003-03-27 Meta Tv, Inc. Interactive user interface for television applications
US8042132B2 (en) 2002-03-15 2011-10-18 Tvworks, Llc System and method for construction, delivery and display of iTV content
US11388451B2 (en) * 2001-11-27 2022-07-12 Comcast Cable Communications Management, Llc Method and system for enabling data-rich interactive television using broadcast database
US8413205B2 (en) 2001-09-19 2013-04-02 Tvworks, Llc System and method for construction, delivery and display of iTV content
KR20040048938A (ko) * 2001-10-04 2004-06-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 유저 인터페이스 애플리케이션을 구동하는 디바이스
EP1449152B1 (de) 2001-10-24 2013-10-23 Google, Inc. Benutzerdefinierbare bildbezugspunkte
US7602991B2 (en) * 2001-10-24 2009-10-13 Nik Software, Inc. User definable image reference regions
US7703116B1 (en) 2003-07-11 2010-04-20 Tvworks, Llc System and method for construction, delivery and display of iTV applications that blend programming information of on-demand and broadcast service offerings
US8707354B1 (en) 2002-06-12 2014-04-22 Tvworks, Llc Graphically rich, modular, promotional tile interface for interactive television
US7197715B1 (en) 2002-03-29 2007-03-27 Digeo, Inc. System and method to provide customized graphical user interfaces via an interactive video casting network
US8352983B1 (en) 2002-07-11 2013-01-08 Tvworks, Llc Programming contextual interactive user interface for television
US11070890B2 (en) 2002-08-06 2021-07-20 Comcast Cable Communications Management, Llc User customization of user interfaces for interactive television
US8220018B2 (en) 2002-09-19 2012-07-10 Tvworks, Llc System and method for preferred placement programming of iTV content
US7359086B2 (en) * 2002-10-21 2008-04-15 Sharp Laboratories Of America, Inc. Graphic-interface, anti-clipping, color-image correction
US7215449B2 (en) * 2002-10-21 2007-05-08 Sharp Laboratories Of America, Inc. Anti-clipping color-image correction
US10664138B2 (en) 2003-03-14 2020-05-26 Comcast Cable Communications, Llc Providing supplemental content for a second screen experience
US11381875B2 (en) 2003-03-14 2022-07-05 Comcast Cable Communications Management, Llc Causing display of user-selectable content types
US8578411B1 (en) 2003-03-14 2013-11-05 Tvworks, Llc System and method for controlling iTV application behaviors through the use of application profile filters
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7240292B2 (en) 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7769794B2 (en) 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7421438B2 (en) 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7925682B2 (en) 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US7650575B2 (en) 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US7500198B2 (en) * 2003-04-25 2009-03-03 Motorola, Inc. Method and apparatus for modifying skin and theme screens on a communication product
US20040220943A1 (en) * 2003-04-30 2004-11-04 Motorola, Inc. Data structure and method facilitating a custom user interface
US20040225633A1 (en) * 2003-05-08 2004-11-11 Taiwan Semiconductor Manufacturing Co. Using pure HTML to access database without refreshing page
US7356332B2 (en) * 2003-06-09 2008-04-08 Microsoft Corporation Mobile information system for presenting information to mobile devices
US7367358B2 (en) * 2005-02-02 2008-05-06 Universal Infusion Technology, Llc Medical fluid delivery system and method relating to the same
US8819734B2 (en) 2003-09-16 2014-08-26 Tvworks, Llc Contextual navigational control for digital television
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US7721254B2 (en) * 2003-10-24 2010-05-18 Microsoft Corporation Programming interface for a computer platform
US7657846B2 (en) * 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US7694236B2 (en) * 2004-04-23 2010-04-06 Microsoft Corporation Stack icons representing multiple objects
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US9213714B1 (en) 2004-06-22 2015-12-15 Apple Inc. Indicating hierarchy in a computer system with a graphical user interface
US7873916B1 (en) * 2004-06-22 2011-01-18 Apple Inc. Color labeling in a graphical user interface
US8473848B2 (en) * 2004-09-15 2013-06-25 Research In Motion Limited Palette-based color selection within a user interface theme
DE602004022095D1 (de) * 2004-09-15 2009-08-27 Research In Motion Ltd Palettenbasierte Farbauswahl in einem Benutzeroberflächenthema
KR100677426B1 (ko) * 2005-01-14 2007-02-02 엘지전자 주식회사 이동 통신 단말기의 문자 메시지 표시 방법
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US7818667B2 (en) 2005-05-03 2010-10-19 Tv Works Llc Verification of semantic constraints in multimedia data and in its announcement, signaling and interchange
US8510662B1 (en) * 2005-06-27 2013-08-13 Oracle America, Inc. Effects framework for GUI components
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
US20070065004A1 (en) * 2005-08-01 2007-03-22 Topcon Corporation Three-dimensional measurement system and method of the same, and color-coded mark
US8146002B2 (en) * 2005-12-08 2012-03-27 International Business Machines Corporation Screen sharing session with selective pop-ups
US8700469B2 (en) 2006-03-06 2014-04-15 Apple Inc. System and method for delivering advertising with enhanced effectiveness
US8194034B2 (en) * 2006-12-20 2012-06-05 Verizon Patent And Licensing Inc. Systems and methods for controlling a display
JP5207719B2 (ja) * 2007-12-05 2013-06-12 株式会社トプコン カラーコード付き標識、カラーコード抽出手段及び三次元計測システム
US8078976B2 (en) * 2007-12-10 2011-12-13 International Business Machines Corporation Method and apparatus for generating adaptable pull down menus
US9794448B1 (en) * 2008-06-04 2017-10-17 Hao-jan Chang Visible multiple codes system, method and apparatus
US20100077350A1 (en) * 2008-09-25 2010-03-25 Microsoft Corporation Combining elements in presentation of content
US20100088602A1 (en) * 2008-10-03 2010-04-08 Microsoft Corporation Multi-Application Control
US11832024B2 (en) * 2008-11-20 2023-11-28 Comcast Cable Communications, Llc Method and apparatus for delivering video and video-related content at sub-asset level
US9491005B2 (en) * 2009-11-26 2016-11-08 Lg Electronics Inc. Network system and method of controlling network system
US9112623B2 (en) 2011-06-06 2015-08-18 Comcast Cable Communications, Llc Asynchronous interaction at specific points in content
US8897552B2 (en) 2012-08-01 2014-11-25 Microsoft Corporation Setting an operating-system color using a photograph
US11115722B2 (en) 2012-11-08 2021-09-07 Comcast Cable Communications, Llc Crowdsourcing supplemental content
US9553927B2 (en) 2013-03-13 2017-01-24 Comcast Cable Communications, Llc Synchronizing multiple transmissions of content
US10880609B2 (en) 2013-03-14 2020-12-29 Comcast Cable Communications, Llc Content event messaging
USD750130S1 (en) 2013-06-10 2016-02-23 Apple Inc. Display screen or portion thereof with graphical user interface
FR3010812A1 (fr) * 2013-09-13 2015-03-20 Eads Europ Aeronautic Defence Procede de conception assistee par ordinateur comportant une etape de modelisation
KR102318877B1 (ko) 2014-10-02 2021-10-29 삼성전자주식회사 전자 기기의 사용자 인터페이스 표시 방법 및 장치
US11783382B2 (en) 2014-10-22 2023-10-10 Comcast Cable Communications, Llc Systems and methods for curating content metadata
KR102248694B1 (ko) 2014-12-02 2021-05-07 삼성전자주식회사 프로파일을 관리하는 방법과 이를 지원하는 전자 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287514A (en) * 1990-01-08 1994-02-15 Microsoft Corporation Method and system for customizing a user interface in a computer system

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394521A (en) * 1991-12-09 1995-02-28 Xerox Corporation User interface with multiple workspaces for sharing display system objects
US4866638A (en) * 1988-03-04 1989-09-12 Eastman Kodak Company Process for producing human-computer interface prototypes
US5121478A (en) * 1988-09-08 1992-06-09 Xerox Corporation Window system with independently replaceable window functionality
JPH0778782B2 (ja) * 1989-07-19 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン 対話型コンピュータ・システムならびにその使用環境適合化装置および方法
US5220675A (en) * 1990-01-08 1993-06-15 Microsoft Corporation Method and system for customizing a user interface in an integrated environment
US5388202A (en) * 1990-02-02 1995-02-07 Viacom International Inc. Method and apparatus for generating window borders having pictorial frame elements
US5101364A (en) * 1990-02-09 1992-03-31 Massachusetts Institute Of Technology Method and facility for dynamic video composition and viewing
US5195043A (en) * 1990-03-02 1993-03-16 Milliken Research Corporation Automatic generation of look-up tables for requested patterns and colors
US5327529A (en) * 1990-09-24 1994-07-05 Geoworks Process of designing user's interfaces for application programs
US5341466A (en) * 1991-05-09 1994-08-23 New York University Fractal computer user centerface with zooming capability
WO1993015455A1 (en) * 1992-01-24 1993-08-05 Interactive Media Corporation System for performing function on second portal upon activation of related first portal
US5371844A (en) * 1992-03-20 1994-12-06 International Business Machines Corporation Palette manager in a graphical user interface computer system
US5900874A (en) * 1992-05-11 1999-05-04 International Business Machines Corporation Icon transformation system
JP2525546B2 (ja) * 1992-09-08 1996-08-21 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィックリソ―ス・エディタ
JP2522898B2 (ja) * 1992-09-08 1996-08-07 インターナショナル・ビジネス・マシーンズ・コーポレイション 動的カストマイズ方法及びグラフィックリソ―ス・エディタ
US5438659A (en) * 1992-10-08 1995-08-01 Hewlett-Packard Company Object-action user interface management system
US5485600A (en) * 1992-11-09 1996-01-16 Virtual Prototypes, Inc. Computer modelling system and method for specifying the behavior of graphical operator interfaces
US5345550A (en) * 1992-12-23 1994-09-06 International Business Machines Corporation User-modifiable popup menus for object oriented behavior
US5667438A (en) * 1993-04-22 1997-09-16 Rehm; Peter H. Method of constructing crossword puzzles by computer
US5452406A (en) * 1993-05-14 1995-09-19 Microsoft Corporation Method and system for scalable borders that provide an appearance of depth
DE69525338T2 (de) * 1994-05-16 2002-10-24 Apple Computer Abstraktion von mustern und farben in einer graphischen benutzerschnittstelle
US5675520A (en) * 1995-03-30 1997-10-07 Microsoft Corporation Method for extending a common user interface
US6112201A (en) * 1995-08-29 2000-08-29 Oracle Corporation Virtual bookshelf
US5963204A (en) * 1996-09-20 1999-10-05 Nikon Corporation Electronic camera with reproduction and display of images at the same timing
US5940078A (en) * 1997-06-17 1999-08-17 Sun Microsystems, Inc. Method and apparatus for changing the appearance of icon images on a computer display monitor
US6557017B1 (en) * 1998-02-06 2003-04-29 Xerox Corporation Image production system theme integration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287514A (en) * 1990-01-08 1994-02-15 Microsoft Corporation Method and system for customizing a user interface in a computer system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1698981A2 (de) * 2005-03-03 2006-09-06 Microsoft Corporation Einfaches Styling
EP1698981A3 (de) * 2005-03-03 2007-08-01 Microsoft Corporation Einfaches Styling
US7917860B2 (en) 2005-03-03 2011-03-29 Microsoft Corporation Simple styling
CN1828597B (zh) * 2005-03-03 2012-08-29 微软公司 简单样式
US7418668B2 (en) 2005-11-30 2008-08-26 Microsoft Corporation Glass appearance window frame colorization
WO2010057971A1 (en) * 2008-11-24 2010-05-27 Tat The Astonishing Tribe Ab Methods and apparatuses for flexible modification of user interfaces

Also Published As

Publication number Publication date
US5963206A (en) 1999-10-05
DE69525338D1 (de) 2002-03-21
DE69525338T2 (de) 2002-10-24
AU2594595A (en) 1995-12-05
WO1995031776A1 (en) 1995-11-23
EP0760126B1 (de) 2002-02-06
US6466228B1 (en) 2002-10-15
US6239795B1 (en) 2001-05-29
US20030052921A1 (en) 2003-03-20
EP0760126A1 (de) 1997-03-05
US6958758B2 (en) 2005-10-25
EP1156416A3 (de) 2007-07-18

Similar Documents

Publication Publication Date Title
EP0760125B1 (de) System zur anpassung der erscheinung und des verhaltens graphischer benutzeroberflächen
EP0760122B1 (de) Umschaltung zwischen darstellungs-/verhaltensthemen in graphischen benutzeroberflächen
US5963206A (en) Pattern and color abstraction in a graphical user interface
US8531480B2 (en) Data-driven layout engine
US6710782B2 (en) Data driven layout engine
US6188399B1 (en) Multiple theme engine graphical user interface architecture
US7694229B2 (en) System and theme file format for creating visual styles
US6664981B2 (en) Graphical user interface with hierarchical structure for customizable menus and control objects
US5880729A (en) Graphical user interfaces having animated control elements
US7030890B1 (en) Displaying graphical objects
US5977971A (en) Tree view control
US5917487A (en) Data-driven method and system for drawing user interface objects
US6456296B1 (en) Color scheme for zooming graphical user interface
EP0438877B1 (de) Verfahren zur Datenspeicherbedarfsverminderung in Verbindung mit Rechnerfensterumgebung
US5790132A (en) Image rendering system with extensible mechanism for providing visual user feedback when an image graphic is selected
Gansner et al. The eXene widgets manual
Training Adobe®
Sannella Analyzing Interactive Graphics Systems

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20010720

AC Divisional application: reference to earlier application

Ref document number: 760126

Country of ref document: EP

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE GB

RIN1 Information on inventor provided before grant (corrected)

Inventor name: JOHNSTON, ROBERT G., JR.

Inventor name: ULRICH, ROBERT R.

RIN1 Information on inventor provided before grant (corrected)

Inventor name: JOHNSTON, ROBERT G., JR.

Inventor name: ULRICH, ROBERT R.

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): DE GB

AKX Designation fees paid

Designated state(s): DE GB

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: APPLE INC.

17Q First examination report despatched

Effective date: 20090724

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20151215