A SYSTEM AND METHOD FOR DETECTING SCREEN HOTSPOTS

Abstract: The system and method of the present invention for detecting screen hotspots (24, 34) provides a graphical user interface environment that enables a user to select screen hotspots that are graphically represented by complex shapes and multiple colors. The use of complex-shaped multi-colored hotspots (C1-C7) enables the creation of more realistic graphical representations implementing screen hotspots. Monochrome bitmaps, or masks (40), are created for each and every hotspot of each and every window view that may be displayed on a screen (18). Each mask defines valid coordinates for the corresponding hotspots such that, so long as a cursor (48) is located on a valid coordinate, the user can select that hotspot, regardless of the complex shape or multiple colors used to graphically represent the hotspot.

Description: DESCRIPTION A System and Method for Detecting Screen Hotspots Field of the Invention This invention relates to a computer system graphical user interface (GUI) , and more specifically to a system and method for detecting interactive screen regions known as hotspots. Background of the Invention Modern computer systems employ graphical user inter¬ faces (GUI) to present information to a computer user in a user-friendly graphical environment. Rather than requiring a working knowledge of arcane textual commands, GUIs typically allow the user to operate a computer program by positioning an arrow, pointing finger, or other shaped cursor, over an object and clicking a button to select that object. The use of a pointing device, such as a mouse or trackball, to point-and-click selected objects displayed on a screen within a window is well known in the art. Typically, the cursor is positioned over an object (point) and actively selected by pressing a button on the pointing device (click) . Examples of GUIs presently in use are the Apple Macintosh operating system, and the Microsoft Windows graphical environment for DOS systems. Both of these GUIs are capable of displaying multiple windows, or views, on a single screen. GUIs typically enable the user to point-and-click on an object by making a region of the screen that defines the object sensitive to user interaction. In this way, when the user positions the cursor over an interactive screen object, such as a button or menu, the GUI is able to detect that the cursor is positioned over the inter- active screen object since the location of all interactive screen objects are defined. These interactive regions of the screen are commonly referred to as hotspots. A typical hotspot is rectangular, and is defined by upper-left coordinates and lower-right coordinates of the rectangular region on the screen. Thus, whenever the cursor is positioned over any portion of the rectangular region formed by the upper-left and lower-right coordi¬ nates, the GUI determines that the cursor is pointing to the hotspot defined by such coordinates. This implementa¬ tion explains why most objects displayed in a GUI graph¬ ical environment are rectangular in shape. An example of a typical rectangular button is shown in FIG. 1. Users familiar with the Microsoft Windows graphical environment are aware that the pair of rectangular buttons BI and B2 shown in FIG. 1 are interactive screen objects, or hotspots, that enable the user to minimize or maximize a particular window displayed on the screen. However, even when objects displayed on the screen are not rectangular (eg. circular, triangular, irregular or complex shaped, etc.) , they are still typically defined by rectangular coordinates stretching beyond the border of the object such that when the cursor is not positioned over the graphical representation of the object, but still within the rectangular coordinates defining the object, the system determines that the cursor is pointing to the object, although the cursor is not positioned over the object precisely. While this is sufficient for most object selection purposes, such leeway in the selection of an object can be troublesome when non-rectangular objects are placed in close proximity to each other on the screen. An example of such a situation is a graphical representation of a geographical map displaying bordering countries. Since the borders of most countries are not perfectly rectangular, and yet they are located adjacent to each other, it is clear that the method described above of using rectangular coordinates to define non-rectangular objects of complex shapes would cause numerous overlaps, such that by positioning the cursor at a specific point on the screen, the user could feasibly select a plurality of countries at the same time. A common solution for such a situation is to color code the individual countries, wherein each individual country, shown as a single color, represents an individual hotspot. FIG. 2 shows, in shades of black and white, a representation of such a collection of complex shaped, single colored hotspots, wherein it is assumed for illustrative purposes that Cl is black, C2 is orange, C3 is red, C4 is purple, C5 is blue, C6 is green, and C7 is yellow. With the graphical representation of the various countries color coded in this way, the system determines the position of the cursor and the color of the object the cursor is pointing to, and then consults a color-to-object look-up table. However, this only works when each country is defined by a single color scheme. If any attempt is made to add realism to the illustration by using more than one color for any given country, then the color-to-object method may not work. Thus, although simple shapes, or complex shapes with single colors, can be handled by the presently available methods of defining hotspots in a GUI environment, there is no system or method available for selecting complex shapes with multiple colors in a GUI environment . For example, presently available graphical repre¬ sentations of computer system components for diagnostic point-and-click selection of various components provide displays with either unrealistic rectangular shapes for all components in the computer system, unrealistic single- colored components in the computer system with no adjacent similar colors, or complex shaped components separated by distances to prevent overlapping of rectangular coordi¬ nates defining such shapes. A drawback of such a display is that viewing purple, yellow, orange, or red circuit cards inside a computer system does not provide the user with a realistic repre¬ sentation of the actual components within the computer system, and thus, does not provide a beneficial familiar¬ ity to the user when the user removes the actual computer system cover for the first time. Therefore, a better solution is needed to provide a GUI environment that enables a user to select a graphic¬ ally displayed object by pointing-and-clicking on a hot¬ spot regardless of the complex shape and multiple colors used to graphically represent the object corresponding to the hotspot. Summary of the Invention The system and method of the present invention for detecting screen hotspots provides a GUI environment that enables a user to select a graphically displayed object by pointing-and-clicking on a hotspot regardless of the complex shape and multiple colors used to graphically represent the object corresponding to the hotspot. In a preferred embodiment of the system and method of the present invention for detecting screen hotspots, an artist creates a plurality of realistic window views of computer system components by making use of many adjacent complex shapes in as many colors as required to provide a realistic graphical representation of the computer system components. These views comprise a plurality of hotspots that enable a user to point-and-click on various inter- active screen objects displayed within a specific window view. For example, in one view of an enclosed computer system, the user points-and-clicks on a hotspot, such as a computer system cover, in order to graphically remove the cover and view the computer system' s internal components. Once the artist finishes creating these window views, individual monochrome bitmaps are created to represent each window view. Monochrome bitmaps are created for each and every hotspot of each and every window view that may be displayed on a screen. These monochrome bitmaps are referred to as masks, and each mask comprises a plurality of black pixels and a plurality of white pixels. The black pixels within a particular mask have coordinates that correspond to a particular hotspot. Thus, if a particular window view displays two hotspot-s, then that window view will have two monochrome bitmaps associated with that window view, wherein the black pixels in a first monochrome bitmap corresponds to a first hotspot, and the black pixels in a second monochrome bitmap corresponds to a second hotspot. Every pixel in a specific mask that correlates to a specific hotspot is black, and the coordinates of these pixels are defined as valid. All other pixels in the specific mask are white, and the coordinates of these other pixels are defined as invalid. In this manner, a specific mask defines as valid the coordinates of every pixel of its corresponding inter¬ active screen object or hotspot. Thus, since the coordi¬ nates of every pixel of every hotspot is defined as valid, so long as the cursor is positioned over one of these valid coordinates, the user is able to select that particular hotspot, regardless of the complex shapes and multiple colors used to graphically represent that particular hotspot. In creating a realistic graphical representation of the computer system components, the artist uses complex shapes and multiple colors to define interactive screen objects. Since the artist has already created these objects, the task of creating corresponding monochrome bitmaps for these objects is simplified. The artist simply makes use of the pre-existing multi-colored complex shaped objects and creates corresponding monochrome bitmaps called masks that define valid coordinates for each specific interactive screen hotspot. Accordingly, it is an object of the present invention to provide an improved system and method for detecting screen hotspots. It is a further object of the present invention to provide a system and method for detecting screen hotspots that are non-rectangular. An additional object of the present invention is to provide a system and method for detecting screen hotspots that are complex shapes and multiple colors. Further objects and advantages of the present invention will become apparent from a consideration of the drawings and ensuing description. Brief Description of the Drawings FIG. 1 is an illustration of a pair of rectangular buttons defining a pair of hotspots used for minimizing and maximizing a particular window in a graphical user interface environment . FIG. 2 is an illustration of a geographical map that shows hotspots represented by complex shapes in single colors. FIG. 3 is a block diagram of a preferred embodiment of the system of the present invention. FIG. 4 is a flowchart illustrating the operation of the hotspot mask detection routine. FIG. 5 is a perspective view of a graphical representation of a top circuit card and a bottom circuit card displayed in a window view, with the top circuit card overlapping a region of the bottom circuit card. FIG. 6 is an illustration of a realistic graphical view of computer system components with the graphical representation of the computer system cover removed. FIG. 7 is an illustration of a mask corresponding to the hotspot that is defined by the graphical representation of a power supply in the computer system. FIG. 8 is an illustration of a realistic graphical view of computer system components, with a cursor pointing to a graphical representation of a computer system cover. FIG. 9 is an illustration of a realistic graphical view of computer system components, with the cursor pointing to a graphical representation of a plurality of circuit cards connected to a motherboard. FIG. 10 is an illustration of a realistic graphical view of computer system components, with the cursor point- ing to a graphical representation of a specific circuit card. FIG. 11 is an illustration of a realistic graphical view of computer system components, with a graphical representation of the specific circuit card. APPENDIX A comprises relevant portions of source code for a diagnostics program implementing the method of the present invention for detecting screen hotspots, and is incorporated into the specification by reference. Detailed Description of a Preferred Embodiment In a preferred embodiment, as shown in FIG. 3, a system of the present invention for detecting screen hotspots is implemented as a typical computer system 10 comprising a processor 12, a memory 14 for connection to the processor 12, a pointing device 16 for connection to the processor 12, and a screen 18 for connection to the processor 12. The memory 14 contains an operating system program that allows the computer system 10 to display a graphical user interface (GUI) on the screen 18. A pointing device 16 is used to select various hotspots on the screen 18 by positioning a cursor 48 (as shown in FIG. 8) over a specific pixel within a window view displayed on the screen 18, the coordinate of the pixel being generally referred to as x,y, where x,y define a location within the window view. In addition, the memory 14 comprises a mask database 20. This mask database 20 comprises mask coordinate information for every hotspot available for use by the GUI . Each mask defines the valid coordinates for the corresponding hotspot, and each mask is given a reference number. When the pointing device 16 positions the cursor 48 on a specific pixel within the window view displayed on the screen 18, the coordinates x,y of that pixel are pro¬ cessed by the processor 12 to determine whether that pixel coordinate is a valid coordinate for any of the various hotspots, and whether such a valid hotspot is enabled. In a preferred embodiment, the system and method for detecting screen hotspots is used in a diagnostics program. The diagnostics program graphically represents components of the computer system 10, and a user of the diagnostics program is able to explore the orientation and configuration of various components of the computer system 10 by manipulating graphical representations of various computer system components. For example, the user can remove a graphical representation of a computer system cover 42 (as shown in FIG. 8) by pointing-and-clicking on the computer system cover 42. The display then provides a graphical repre¬ sentation of the internal components of the computer system (as shown in FIG. 9) , and particular components can be selected for closer inspection by pointing-and-clicking on the appropriate hotspot representing a particular component (as shown in FIGS. 9 and 10) . By providing a realistic image of the computer system 10 as it actually exists, the user becomes familiar with the orientation and configuration of the computer system components before actually removing the computer system's cover 42. This visual familiarity reduces the possibility of error when the user physically handles various components for the first time. Thus, a diagnostic program depicting a realistic graphical representation of computer system components is perfectly suited for implementing the system and method of the present invention for detecting screen hotspots comprised of complex shapes with multiple colors . Rather than using rectangular coordinates or singular colors to define the screen hotspots, a monochrome bitmap, or mask, is created for each individual hotspot in each window view, with the black pixels in each monochrome bitmap having the same corresponding coordinates as the graphically represented object being displayed on the screen 18. Every pixel in a specific mask that correlates to the specific hotspot represented by an object on the screen 18 is black, and defined as valid. All other pixels are white, and defined as invalid. In this manner, every pixel of an object within the window view displayed on the screen 18, regardless of shape and regardless of color, is defined by the corresponding mask as valid. These masks are stored in the mask database 20. As shown in FIG. 4, the routine for detecting a valid coordinate in a mask that corresponds to a hotspot begins with Start 22. First, the present location of the cursor 48 is initialized as x,y, where x and y represent the coordinates of the pixel that the cursor 48 is pointing to, and the variable referred to as SPOT is initialized as the first hotspot 24. The first hotspot is defined by its corresponding mask, and provides valid coordinate informa¬ tion for comparison to the present cursor coordinates. Since the system 10 must determine whether x,y is a valid coordinate for any hotspot, the system systematically checks through every mask in the mask database 20 and compares the present coordinates of the cursor at x,y with the valid coordinates of each hotspot mask until a match is found. The first question is whether the particular SPOT is enabled 26. This question is posed because not every hotspot is displayed on the screen 18 at any given time. It does no good to determine whether coordinate x,y is a valid coordinate for the first hotspot, if the first hotspot is not presently displayed on the screen 18. Since the user can only point-and-click on a hotspot presently displayed on the screen 18, if the first hotspot is not enabled, then the next question asked 32 is whether there are any more hotspots to consider. If the SPOT that was just considered is the last hotspot mask in the mask database 20, then that signifies that coordinates x,y are not valid for any hotspot masks, and therefore, the cursor must be pointing to a non-interactive region within the window view displayed on the screen 18. If this is the case, then the routine indicates this fact by defining SPOT equal to null. Thus, if the user points-and-clicks on this pixel, there is no response. If the first hotspot is enabled, then the question is asked whether the x,y coordinates of the present location of the cursor 48 is a valid pixel for that hotspot 28. If it is a valid pixel, then the routine indicates this fact by defining SPOT equal to the first hotspot 30, such that pointing-and-clicking on this pixel will select the first hotspot . If x,y is not a valid coordinate, then the routine asks whether there are any more hotspots to consider 32. If other hotspots remain, then SPOT is incremented to the next hotspot 34 in the mask database 20. In this example, SPOT is then reinitialized as the second hotspot and then returns to 26 and the question is asked whether the second hotspot is enabled. From here, the routine follows the steps as described above, with the flow of the routine depending upon the answer to the question. The variable SPOT is incremented and reinitialized as the next hotspot until all the hotspots are tested, or until there is a match between the present pixel coordinates of the cursor 48 and a particular hotspot. The computer system 10 implements the method of the present invention for detecting screen 18 hotspots through the use of the mask database 20 which stores valid coordi- nate information on every mask generated for every hotspot in every possible window view for screen 18 display. Each mask for each hotspot is assigned a reference number, such as first hotspot, second hotspot, etc. The prioritized designation of these reference numbers are important when used to determine whether or not a particular hotspot overlaps another hotspot . As an illustrative example, assume two circuit cards are installed in the computer system 10, and a graphically representative display of the computer system 10 provides a perspective view, as displayed in a window W, of certain internal components such that a top circuit card 50 defined by a first hotspot overlaps a portion of a bottom circuit card 52 defined by a second hotspot, as shown in FIGS. 5(a) and 5(b) . On the screen 18, where window views are displayed in two dimensions, the coordinates that define this overlapping region 54 are valid coordinates for both the first and second hotspot. Therefore, a priority system must be implemented that assigns reference numbers to these overlapping hotspots based upon the relative position of each hotspot. In this way, the routine ensures that the presence of an upper-layer hotspot is always checked for enablement first, before proceeding to a lower-layer hotspot. For example, if the top circuit card 50 is presently being displayed as a hotspot on the screen 18, then pointing-and-clicking on the overlapping region 54 of the two hotspots selects the top circuit card 50, since the top circuit card 50 is on top of the bottom circuit card 52 in that overlapping region 54, as shown in FIG. 5(a) . However, if the top circuit card 54 is removed from the window W view displayed on the screen 18 (to visually represent the actual removal of the top circuit card 50, as shown in FIG. 5(b) wherein the top circuit card 50 is shown in phantom) , and the cursor is still positioned on this overlapping region 54 of the two circuit cards, the system must be informed that since the top circuit card 50 is no longer being displayed, the bottom circuit card 52 is to be selected. This is accomplished when the routine determines whether or not the top circuit card 50 is enabled. Since the top circuit card 50 was removed, the routine determines that the top circuit card 50 is disabled. The routine then checks the next hotspot, as determined by their reference numbers. The routine takes the next hotspot, in this case, the second hotspot, and checks to see if the second hotspot corresponding to the bottom circuit card 52 is enabled. If it is, then pointing-and-clicking on the pixel located in this valid overlapping region 54 of the two circuit cards selects the first enabled hotspot, which happens to be the second hotspot in this example. Now, assume that both circuit cards are removed, both physically and graphically (not shown) . The ability for the computer system 10 to detect the insertion or removal of certain computer components is known in the art, and is not discussed further herein. The computer system 10 indicates this change by disabling both the first and second hotspots. Now, assuming again that the cursor 48 is pointing to the coordinate x,y within the window W view in the overlapping region 54 that is a valid coordinate for both cards, the routine checks to see if the top circuit card 50 is valid by questioning whether the first hotspot is enabled. If it is not, it checks to see if the next card, or the second hotspot, is valid. If it is not, then it checks to see if there are any more hotspots for which this coordinate is valid. If there are none, then the system realizes that there are no hotspots presently being displayed at the present cursor location, and there¬ fore, pointing-and-clicking on a pixel in that overlapping region 54 creates no response and selects nothing. Having discussed the operation of the hotspot mask detection routine, the following section describes a preferred implementation of such a routine. An example of a realistic window W view comprising a plurality of hotspots represented by complex shapes and multiple colors is shown in FIG. 6. One advantage of being able to use multiple colors for graphically repre¬ senting a single hotspot is the ability to use just one color for multiple hotspots. For example, since most circuit cards are green, a realistic view displays these circuit cards as being green. This is not possible if different colors have to be used for adjacent hotspots. Located in an upper internal portion of the computer system 10, as shown in FIG. 6, is a power source P. The valid coordinates of the hotspot represented by the illus¬ tration of the power source is defined by a mask, as shown in FIG. 7. The view as shown in FIG. 6 and the mask as shown in FIG. 7 both relate to the same window W such that there is a one-to-one correspondence of pixels between the two windows W shown in FIGS. 6 and 7. The black area 40 of the mask corresponds directly to the graphical repre¬ sentation of the power supply P as shown in FIG. 6. When the cursor 48 is pointing to a pixel that is defined as valid for a particular mask, the system and method of the present invention for detecting hotspots makes the deter¬ mination that the cursor 48 is pointing to an interactive screen hotspot, and selects the corresponding screen 18 object . A preferred embodiment of the system of the present invention implements a diagnostics program. The diag¬ nostic program enables a user to monitor and analyze various computer system components. For example, a window W view displays a graphical representation of a main hous- ing unit 49 of a computer system, as shown in FIG. 8. This computer system may be the computer system 10 itself, or it may be a remote computer system that is in communi¬ cation with the computer system 10, as would be the situation in a network configuration. The user removes the cover 42 from the main housing unit 49 of the computer system where the processor 12 and memory 14 are typically located, as shown in FIGS. 8 and 9, by pointing-and- clicking on the graphical representation of the computer system cover 42. The user then points-and-clicks on a plurality of circuit cards 44, as shown in FIG. 9, in order to focus in on individual circuit cards. The user then points-and-clicks on a specific individual circuit card 46, as shown in FIG. 10, to select that circuit card 46 for addition analysis. FIG. 11 provides detailed information about the specific individual circuit card 46 that was selected by the user, as graphically shown in FIGS. 8-10. If it is determined that this card 46 needs to be replaced, repaired, or removed for whatever reason, then when the user actually goes to the computer system 10 represented by the window W views displayed on the screen 18 to access the specific card 46, the user's visual familiarity with the orientation of the components helps reduce errors. In other words, if the graphical repre¬ sentation of the computer system components are realistic, then the user is less likely to make a mistake when exam- ining the real computer. If the graphical representation of the computer system components is comprised of rectan¬ gular shapes, with various single colored components, then the user's actual look inside the computer system will be an unfamiliar experience. APPENDIX A comprises relevant portions of source code for a diagnostics program implementing the method of the present invention for detecting screen hotspots, and is incorporated into the specification by reference. While the above description contains many specifici- ties, these should not be construed as limitations on the scope of the invention, but rather as an exemplification of preferred embodiments thereof. Many other variations are possible. For example, the concepts of the hotspot mask, while described in conjunction with a diagnostics program, are equally adaptable to a number of different applications that benefit from the use of screen hotspots that are graphically represented by complex shapes and multiple colors. This system and method is efficiently implemented, and thus may also be used when simple shapes, or complex shapes with single colors, are being used to graphically represent screen hotspots. It is to be understood that the terminology used herein is such that a graphical representation of an object displayed on the screen defines a hotspot, and a hotspot defines a graphical representation of an object displayed on the screen, as well. Furthermore, it is to be understood that enabling a hotspot is equivalent to enabling a mask corresponding to the hotspot. 09/29/1994 16:32 filename: OTMAPIK.CPP page 09/29/1994 16:32 filename: 0TNAPIX.CPP Page 09/29/1994 16:32 filename- OTNA I .CPP PΛ<ιe t() / z- 09/?9/l994 16:32 T i cname: DYHAPIX.CPP 09129 199* 16:3Z filename: DTMAPIX.CPP IΛ c 09 VI X m 3 30 C Kl 09/23/ \<X>. 15 :U Filename- OΛSHUST.CPP 09/25/1994 1S:1 Filename: DASHI IST.CPP 09/23/19Φ* 15: ■■* filename- DASHLIST.CPP _Page_ 09/23/199.. IS: It Filename: DASHLIST.CPP age 09 / .?3/199< 1S:U filename: OASHl I SI .CPP Page 09/ 3/1991 15:1* filename: DASHLIST.CPP Page «en i delete list; cout << "done." « endl; > βendif // End of tWorkfile:: 0ASHL1ST.CPP 1 J£ 09/23/1994 IS:It Fil IMfO UIM.CPP 09/2V199* 15:U F i lename: INFO UIM.CPP Page ), ; aneMouseMove NJ nBase: :palet nβase: :query nBase: :palet ); iff 09/Z 1 W 1S:U filename: INFO UIN.CPP 09/Z3/1 1S:U Filename: INFO UIM.CPP Button j; nBase: ok >; )) • ) •panel) ) A-x 09/Z5/19 0 * 1S:U Filename: IMFO UIM.CPP Page int aninf oUinβase: : <nove< zHoveEvt * ) ( l(( polltion ) postt ion->update( this ); return 1; ateEvt *ev ) ) < rBase( aninfo inβase "w ) erβase( ) of anUpdateManager<T> // End of tuorkfite:: INFO UIN.CPP » iD 09/23/1994 IS:U filename: INFO PAN.CPP Page 09/23/1994 15:14 : INFO PAN.CPP Page O - plnt.widthO ); tO - pint .height( ) ); cΛ 09 ly '94 Kept here for like this again someday. Λ t X σi m 90 )) C ); he left button came up, , then call the user's *ev ) All 09/23/1994 15;U filename: INFO PAN.CPP Page if( lev>tsButton( 2 )) { II 2 is. the left button; make sure it's U Int I ; aHotSpotter *u»er; if((ld • getNitlD( *ev )) I * -1 fl ( user • aiaskListOI id )->user()) l« NULL > i lCursor previousCursor « cursorO; setCursor( xCur*or( Hourglass )); user->hlt( id ); setCursor( previousCursor ); !., return 0; !.' End of tWorkfile:: INFO PAN.CPP * I I C BB t in X ι SB C iZ- 09/23/1994 15 11 f ilename: INFO UIN H Page 09/23/1994 15:11 f i lename: INFO UIN.H Page 09/Z3/199-. IS- 11 filename: iwfp UIM.H Page 09/23/199* 15:11 filename; INFO UIN.H 0 /Z5/1994 15:11 filename: IWfO UIN.M Page 0°/Z3/199t S: II f ilenaaie: INFO UIN.H 09/ZΪ/1994 15:11 filename; DA5HLIST.H P«3« 09/23/1994 15:11 filename: DASHLIST.M Pag ) t aSortableOLink: : i ιsιmιιoιsιtιι oιlιιaOιιLιiιsιtι'ιs // ( ?- 09/23/1994 IS:II filename: OASHLISl.H 09/23/1994 15:11 fil OASHIIST.H Page 09/Z3/I994 15:11 Filename: BOOLEAN.H p «o- //////////////////// 1 //n/n//// 11 iiiiiiiimmm ////// ///////// mnim / lass / //// F l ic: ■ Morkflie:: BOOLEAN.H Define a simple boolean c Supports flnctions IslrueO, IsFalseO and has Int operator. // // Note - This Is specific to MS/Uindou l.κ and Inmarl's zApp. // // Copyright <C) 1991-93 by Darrelt Myers Shively II. // // IRREVOCABLE OYALTY FREE LICENSE TO USE. MGOIFT AND DISTRIBUTE THIS COOE // IS GRANTED TO AST RESEARCH. INC. AND ITS SUBSIDIARIES BT THE // COPYRIGHT HOLDER. 0. SHIVELY II. // // By dash li iimiiiiiiiliiiimmiiiiimmimiiiiiiimmimimiiiiii iiiiiii/iii 1/ Uho Date Comment // / // I I / Oash 10 -/14/93 Incept ion / /// // SLog: : /chief / include/BOOLEAH.H S // C / /// 2 β/22/94 5:29p Dash / /// // Changed to only haves values true and false. Added | <= and 4 operators . // I Environment: Ruby/Uindows3.a/ιApp // // atifndef βOOLEAM H 'define BOOLEAN_H Ul nun < true ■ < 0 »» 0 ), false = C 1 •«• 0 ) ); X class boolean < m private: Int data; public: booleanO: data(false) <> 30 c int isTrueO { return data '= false; } int IsFalseO C return data =» false; > booleanC int x ):data(x T true : false) <> boolean*: boolean tb > :dataCb.data) <> operator Int€J C return data; > boolean £operator|-( boolean tb ) < Ol data |» b.data; return *thiβ; b )oolean AopβratorftsC boolean ftb > < data - b.data; return *this; ) J; ■Hen i End of tworkf l le; : BOOLEAN. H Aγ 09/23/1994 15: 11 f i lename: PASHITPE.H Pale 1 09/23/1994 1S:11 Filename: DASHTYPE.H _Pβae_ •ifndef DATATYPES • error Platform neither Amiga nor MSOOS •else typedef word status; •endif •endif End of dashtype.h Jz 09/23/1994 15:11 Filename: DTHAPIX.H Page 1 09/23/1994 15:11 filename: OYNAPIK.H Page (newlθ) () is hotspot to t since last draw NULL M 09/Z3/19°t 15:11 filename: OTHAPIX.H Page 09/23/ly?* IS:11 Ml DYMAPIX.M Page ) (); (>; ) id; else -1 H ΛZL.

Claims: Claims 1. A system for detecting screen hotspots comprising a processor, a screen for connection to said processor, a memory for connection to said processor, a pointing device for connection to said processor, said memory comprising an operating system program being capable of causing a display of a graphical user interface environment on said screen, said graphical user interface environment being capable of displaying at least one hotspot, said pointing device being capable of controlling a cursor displayed on said screen within said graphical user interface environment, said memory further comprising a mask database, said mask database comprising at least one mask, said one mask defining valid coordinates for one corresponding hotspot, and said processor being capable of implementing a hotspot mask detection routine to determine whether said cursor is pointing to a pixel located at a valid coordi¬ nate for a hotspot by comparing coordinates of said pixel with a mask defining valid coordinates for said hotspot. 2. The system of Claim 1, wherein said one mask defines valid coordinates for said one corresponding hotspot by generating a monochrome bitmap that designates a first color to every pixel of a view in which said one corresponding hotspot is to be displayed, and designates a second color to all remaining pixels. 3. The system of Claim 2, wherein said memory further comprises a diagnostics program, said diagnostics program being capable of displaying a realistic view of a computer system on said screen, said realistic view of said computer system comprising graphical representations of computer system components, and said graphically represented components being capable of being selected individually by a user for further analysis by positioning said cursor over, and actively selecting, an individual component via said individual component's corresponding hotspot, thereby providing a more detailed view of said individual component. 4. The system of Claim 1, wherein said one mask defines valid coordinates for said one corresponding hotspot by generating a monochrome bitmap that designates a color black to every pixel of a view in which said one corresponding hotspot is to be displayed, and designates a color white to all remaining pixels. 5. The system of Claim 4, wherein said memory further comprises a diagnostics program, said diagnostics program being capable of displaying a realistic view of a computer system on said screen, said realistic view of said computer system comprising graphical representations of computer system components, and said graphically represented components being capable of being selected individually by a user for further analysis by positioning said cursor over, and actively selecting, an individual component via said individual component's corresponding hotspot, thereby providing a more detailed view of said individual component. 6. The system of Claim 1, wherein said mask database comprises a plurality of masks stored in a prioritized order such that said processor considers a mask for an upper- layer hotspot before considering a mask for a lower-layer hotspot. 7. The system of Claim 6, wherein said prioritized plurality of masks corresponding to non-displayed hotspots are capable of being disabled such that said processor selects a first enabled matching hotspot when considering said prioritized plurality of masks. 8. The system of Claim 7, wherein said prioritized plurality of masks defines valid coordinates for corresponding hotspots by generating monochrome bitmaps that designate a first color to every pixel of a view in which corresponding hotspots are to be displayed, and designate a second color to all remaining pixels. 9. The system of Claim 8, wherein said memory further comprises a diagnostics program, said diagnostics program being capable of displaying a realistic view of a computer system on said screen, said realistic view of said computer system comprising graphical representations of computer system components, and said graphically represented components being capable of being selected individually by a user for further analysis by positioning said cursor over, and actively selecting, an individual component via said individual component's corresponding hotspot, thereby providing a more detailed view of said individual component . 10. A method for detecting hotspots on a screen within a graphical user interface environment comprising the following steps: determining coordinates of a cursor on said screen, and comparing said coordinates of said cursor with a mask, said mask defining valid coordinates for a corresponding hotspot . 11. The method of Claim 10, further comprising the following steps: displaying a realistic view of a computer system on said screen, said realistic view of said computer system comprising graphical representations of computer system components, selecting an individual component for further analysis by positioning said cursor over said individual component, determining coordinates of said cursor on said screen, comparing said coordinates of said cursor with a mask, said mask defining valid coordinates for a hotspot corresponding to said individual component, and determining whether said coordinates of said cursor match with said valid coordinates of said hotspot corresponding to said individual component. 12. A method for detecting hotspots on a screen within a graphical user interface environment comprising the following steps : storing in a prioritized order a plurality of masks in a mask database such that a processor considers a mask for an upper-layer hotspot before considering a mask for a lower-layer hotspot, disabling masks corresponding to non-displayed hotspots such that said processor selects a first enabled matching mask when considering said prioritized plurality of masks, determining coordinates of a cursor on said screen, and comparing said coordinates of said cursor with at least one mask until a match is found, wherein said mask defines valid coordinates for a corresponding hotspot. 13. The method of Claim 12, further comprising the following steps: displaying a realistic view of a computer system on said screen, said realistic view of said computer system comprising graphical representations of computer system components, selecting an individual component for further analysis by positioning said cursor over said individual component, determining coordinates of said cursor on said screen, comparing said coordinates of said cursor with a mask, said mask defining valid coordinates for a hotspot corresponding to said individual component, and determining whether said coordinates of said cursor match with said valid coordinates of said hotspot corresponding to said individual component. 14. A memory comprising a hotspot mask detection routine, said routine comprising the following steps: determining coordinates of a cursor on said screen, and comparing said coordinates of said cursor with a mask, said mask defining valid coordinates for a corresponding hotspot. 15. The memory of Claim 14 comprising a hotspot mask detection routine, said routine further comprising the following steps: displaying a realistic view of a computer system on said screen, said realistic view of said computer system comprising graphical representations of computer system components, selecting an individual component for further analysis by positioning said cursor over said individual component, determining coordinates of said cursor on said screen, comparing said coordinates of said cursor with a mask, said mask defining valid coordinates for a hotspot corresponding to said individual component, and determining whether said coordinates of said cursor match with said valid coordinates of said hotspot corresponding to said individual component . 16. A memory comprising a hotspot mask detection routine, said routine comprising the following steps: storing in a prioritized order a plurality of masks in a mask database such that a processor considers a mask for an upper-layer hotspot before considering a mask for a lower-layer hotspot, disabling masks corresponding to non-displayed hotspots such that said processor selects a first enabled matching mask when considering said prioritized plurality of masks, determining coordinates of a cursor on said screen, and comparing said coordinates of said cursor with at least one mask until a match is found, wherein said mask defines valid coordinates for a corresponding hotspot. 17. The memory of Claim 16 comprising a hotspot mask detection routine, said routine further comprising the following steps: displaying a realistic view of a computer system on said screen, said realistic view of said computer system comprising graphical representations of computer system components, selecting an individual component for further analysis by positioning said cursor over said individual component, determining coordinates of said cursor on said screen, comparing said coordinates of said cursor with a mask, said mask defining valid coordinates for a hotspot corresponding to said individual component, and determining whether said coordinates of said cursor match with said valid coordinates of said hotspot corresponding to said individual component .

Inventors: SHIVELY DARRELL MYERS II, SHIVELY, DARRELL, MYERS, II
Applicants: AST RESEARCH INC, AST RESEARCH, INC.
Application year: 1995
Main classification: G06F3
IPC codes: G06F3