throbber
Subclass
`
`ISSUECLIQSSIFICATION
`
`
`
`
`
`I
`
`.
`
`I-III-II.-.-.-IIIII
`
`II II
`
`.
`
`I-I_I-II--II..I.
`
`I
`
`
`
`LIV .
`I'---:J_vI.I:xII-_'I'
`
`-:
`
`i_'I:
`|~'2.L-.".'I.l-|
`
`I_I
`_|
`:_I'5's"J_
`_
`l...
`I'-II_.I--:—II-:I
`
`'
`" "
`"'-L"‘:3-
`:_II'.i
`-
`
`..-I::‘-I'I:I.
`|'|.|!-'|'-'I.: I. I...
`
`I1‘ ;I_~qI__I j[ I-.|Ij;.
`
`I.-'::.I'I.II'" I.
`.I:-
`
`gI;j]",',::-,
`__
`
`I
`
`.I. =:=
`
`I: z.
`
`--:-= I: =I
`
`p_rw-/Q.s.s/;2/
`
`I
`
`-?Z :I: "I: Z}: -I
`
`I. II II -I II i:i .I
`
`_..
`
`
`
`
`=-==<F'=.hI
`..'I.‘=.I'~l/I-"I','
` \‘
`I r I E" ii-
`
`I"
`
`I‘I|'5'i'|._-.l|f'I'-'>I'i"lEliixlr?-‘*5\""“‘ H
`_
`
`. roe;/as/ras/""
`
`'~<
`
`|'-'I"_i|-»!I::
`
`1 (RN F"
`
`.1 l. Ii'xlI’_'1
`
`|.:-iF!_I'_-§|\|'|
`|._ .'[C'|__-_N.‘,7_~F_
`
`STATE on snzsrs
`1:: 3,...
`Furlign pnnmg dakrnd
`v
`' As
`
`.a5USGll9corIvB1IintIsma
`I:I yea fi
`FILED cqunrm nmvas.
`'\te41Ile¢a:1dAI:Imov1Iodgad mmmsinm —§ 1 ;~;
`.I.=.‘.
`
`I-':'.?."
`
`1
`
`'.-31;’
`
`|'_'|I£w"E'.h*.':n
`
`-5mI‘IaI.I_ I-_=_
`
`.-r-r_=«_
`
`‘rem.
`cLmsIIs
`
`1=1LmIa sea
`RECEIVED
`.~s'-1 _.
`|Ii‘E‘.F.E.-. III‘:
`
`A FINEv's
`oocxsr ‘HO.
`III "L:
`-
`. II 1 I11
`
`-:
`
`
`
`
`.
`In-I-‘I_-'.
`;.-\'
`
`
`
`r_i|
`;;’I I
`Ir.,r‘.-.l.
`
`J_
`I.
`
`1"
`It
`.
`
`
`E
`
`
`
`If||EE.|'|--|I_'jI]j-
`
`.1“-1E\IIZ<
`
`}’_'I'Ir"'I.'l'|':I|\'|
`
`F'I"_IE~': F"Fl'|::|[y|.|[:|:|‘I|E5
`
`I.-':i|'v.':'3a|:'i'|I|.LI'-"'Il__
`
`
`'|'.|"'|I'-VIII 5
`
`
`
`Form maw,
`
`PARTS OF APPLICATION
`FILED sEpImArsI.v ’7_ 51315,:
`NOTICE OF ALLOWANCE MARLED
`
`‘
`
`
`
`
`
`“
`I
`[Q
`Asst anl Examiner
`'
`DRAWING ..
`'
`_,
`'
`
`_
`.1’_,
`.
`.-
`1
`.
`Suheeta-Dn-U9. Figs. Drwg. Print
`\. %‘JGU‘1'E?-I
`9
`‘3
`2
`5 av E:IcIzIII'I.=I=Ea
`Céflf.‘-‘JP 2499
`§_;‘T"cEH
`/I5,/U
`PrImaryE miner Numafin
`
`
`
`
`
`wnrluma:
`
`‘rne Inrormalion disclosed hereiri may be <estnc1ea. Unaulhorizad disuosure may be prdhibilea
`by fhva Unilad States Code Trtls 35, Sections I22. 1B1'a.n:l 368. Possession oulsidfi the U.S.
`PaIen1 & Trademark (Juice is restricted Io autrsonzed employees and r.ontrac1ors only.
`
`rormaIDmMnsst_srI1sIseL_
`
`
`
`1
`
`GOOGLE-1002
`
`
`
`;:::ig;E“
`
`no
`-33
`
`'
`
`I
`
`.
`
`.
`
`-
`
`N
`
`-
`
`-
`
`'
`
`UT|L1TY
`
`mata
`
`SERIAL NUMBER
`
`PATENT DATE
`
`39281999
`
`PATENT
`
`suacmss
`
`FILING DATE cutss
`
`
`
`1
`
`GOOGLE-1002
`
`

`
`'
`
`I
`
`PATENT APPLIcA‘fIoN
`.!%flhYlllllIfliflfllll%Mi|lJmllflfWfl|7IIi!
`08726091
`
`[1
`
`APPFIOVED FOR LICENSE D
`.,aIal$1HsU_7;vw.e_,.:+
`
`%
`
`CONTENTS
`
`Date
`Received
`or
`Mailed
`
`
`
`1. Application
`
`
`
`03 726091-
`
`Date
`Entered
`or
`counted
`
`2
`
`

`
`'l_.l.8.
`
`FHINTINGWFICE: Ifi-420-SIG
`
`SUBCLASS
`IDNE SUECLASS FER BLOCK}
`
`'
`
`
`
`.
`
`=
`
`-
`
`_
`
`f'°..?:':;,}'
`
`'
`
`H
`
`Iésua cLA_ss‘r'i=IcA'rIoN am!
`
`“'5' .‘?f5si'}'.”.‘§"rL°§e$9L*?<”3‘s?.E§
`
`3
`
`

`
`
`
`Staple Issue Slip Here
`
`POSITION
`
`
`
`- C
`
`ORPS CORE 2--
`SPEC. HAND
`
`INDEX OF CLAIMS
`
` rL'FI-‘r'IN.=:In5=‘.
`4
`
`4
`
`

`
`
`
` SEARCHED
`
`'
`
`INTERFERENCE SEARCHED I
`U
`-.
`
`
`
`
`I‘ FIIG HT OUTSIDE}
`
`'
`
`I/4: I
`
`Cr 4' O
`
`«M;
`
` WI
`
`5
`
`

`
`USG0595963-3A
`
`[11] Patent Number:
`[45] Dale of Patent:
`
`5,959,633
`Sep. 28, 1999
`
`3451339
`345539
`
`
`
`9.91998 Yoshi-da elrrl.
`5,805,160
`5,8l'2,I31 WI998 Bcnrarn
`OTHER PUBLICATIONS
`
`Developing Vfisio Soiulions, Version 4. 1995. pp. 1-163.
`Prinrary Exarm'ner—Phu K. Nguyen
`Atrarrrey, Agam, or Fr'n.u—Bakcr & Bolts, I_.L.P.
`157]
`m;s'r|ucr
`images
`A melhod and syslern for producing graphical
`includes :1 cornpulcl-rcadai:-I: medium and a computer pru-
`gram encoded on Ih: cumpulervrcadabla medium. The cornv
`puler program is operable to access an exlcrnql shape slorcd
`outside the Onmputcr program. 111: cxlcmal shape com-
`prises external capabililies. The computer program is furlher
`operable to delegate the produclion of a graphical image of
`the exlcrnal shape to the external capabiiiiies.
`
`-
`
`23 Claims‘, 5 Drawing Sheets
`
`:
`r
`
`I
`.
`
`i
`
`United States Paterif ii;-9']
`McFarland et al.
`
`
`‘-
`
`1541
`
`P5]
`
`METHOD AND SYSTEM FOR PRODUCING _:
`GR;-\l’HiC.-AL IMAGES
`
`lnvenlc-rs: Kevin E. McFarland. Copp-ell; Rndnuy
`T. Whisnanl. Plano. bmh at‘ ‘F: x.
`
`[73]
`
`Assignee: Microgrnfx. Inc., Richardson, Tex.
`
`[31]
`[23]
`[51]
`[53]
`[53]
`
`[56]
`
`Appl. No.: Dllfl-'26,i}9l
`Filcd:
`Oct 4, l99Ii
`Int. Cl.‘
`.
`lJ.S. Cl.
`Field of Search
`
`. GI)6F l5r'0l}
`345)“!
`
`34515140, 441.
`3-1-SM-I12, 4-13, 1.13, 114
`Rctumnces Cited
`U.S. l"P{l'ENT DUCUMENUS
`811998 liavinllielal.
`
`_-3«1Sr3_33
`
`5,190,117
`
` KIM!
`
`I.-___-.._____1s.__________________:
`
`'
`
`
`
`
`
`
`
` ACTION 1
`
`SYMBOL
`
`
`
`
`
`
`
`6
`
`

`
`US. Patent
`
`Sep.28,1999
`
`Sheet 1 of 5
`
`5,959,633
`
`110
`
`'13
`
`
`
`120
`
`I
`
`_.l-
`
`'.
`
`LIBRARY
`
`125
`COMPUTER
`GRAPHICS
`APPLICATION
`
`122
`
`'125',%j
`.
`COMMUNICATION
`
`210
`
`COM PUTER
`GRAPH ICS
`APPLICATION
`
`MODULE
`
`SHAPE
`COLLECTION
`MODULE
`
`SHAPE
`COLLECTION
`
`7
`
`

`
`U.S. Patent
`
`Scp.28,1999
`
`Sheet 2 MS
`
`5,959,633
`
`ACTIONS
`
`INTERNAL
`swam
`
`INTERNAL
`ACTIONS
`
`INTERML Mm
`swam
`
`.222
`3A
`
` INTERNAL
`
`
`
`
`EXTERNAL
`SYMBOL
`
`EXTERNAL
`flCfl0NS
`
`
`
`352-
`
`'
`
`352
`
`ACHON 1
`
`.
`
`RESOURCES
`
`RESOURCES
`
`
`
`-
`
`
`
`s'm30i;g i‘
`
`RESOURCES
`
`
`
`
`
`
`
`
`
`L__; _____________________ __;J
`J
`
`
`
`
`
`
`./mg
`5
`
`-
`
`IIII
`
`INN.
`
`‘
`
`SYMBOL
`
`RESOURCES
`
`
`
`
`
`
`
`8
`
`

`
`U.S. Patent
`
`-5
`3'2;
`,'I.
`:
`Sep. 28, 1999
`
`":
`
`'-
`
`Sheet 3 of 5
`
`5,959,633
`
`' FIG. 33
`
`31 1 ® METHODS
`
`/‘
`312
`
`313
`
`FIG. 3C
`
`
`
`"/4
`
`317
`
`
`
`FIG. 4
`Action Methods
`
`
`
`
`
`
`
`
`
`
`
`
`
`Methods
`
`(functiqns)
`
`512
`
`
`
`
`
`
`
`I
`IIEI
`Gi.IE§iI§_
`SusendForeround BOOL bsusend
`
`——G
`
`nLButtonU UENT nFIus. CPoin1 oint.
`
`BODL bCl'u:k
`
`———_C
`
`
`
`
`
`
`
`
`
`
`
`Wnd- Wnd. UINT nH|lTest, UINT messue
`UINT n|DEven|
`U N n her, UN neCnt.
`UIN nlos
`um nChur_ umr nReECI'It. um? nFIa
`UINT nChur. UINT nRecnt. UINT nFlas
`Dncommand WP ARAM wP crrum
`
`
`
`
`
`
`
`—__*
`
`
`
`9
`
`

`
`5:
`
`'A»-.1-r
`
`U.S. Patent
`
`Sep.23, 1999
`
`Sheet 4 ors '
`
`5,959,633
`
`
`
`
`
`
`
`
`
`
`S mbul Methods
`O
`l
`
`
` I -
`
`0
`
` I
`
`0
`
`I
`
`
`
`Il
`
` .
`
`l
`
`0
`
`0
`
`O
`
`I
`
`0
`
`COLORREP r We“
`
`
`E?‘
`
`
`
`
`B3E3'£G11i1I
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` He“-lads
`'
`{'”"“'°“‘)
`
`
`
`
`
`
`512
`
`354
`
`
`
`
`
`
`
`FIG. 5
`
`'
`1'35 B.B‘:rrTESlt:l'I;dSlfIE5.
`I‘-‘
`setznonau-us em: Radius
`.5!‘-F“|C0|0f COLORREF FDNW
`c_on-at CS mFill &NevtF|||.BDGL bCo - U ,OOL bfleietea U -
`5E'lF”” E 57"” 9 NI‘-‘WT'
`setsncoror COLORREF rbNew
`3001- “FONS
`Setflockround
`aooL b0uus.COLORREF rbanckmund
`ChIcuIoteBounds.l
`Gewisibleflounds
`EiECT_ -Real
`
`GetGeomelrF:BhLInds§ RECT ¢Rer.t
`_
`
`Get e1<tUl3|u'.BDUfl.ds‘, -L 91 I Rect
`.
`
`G?-'|EndF'6Iflt5.
`'U’P0INT' |F'W|15
`LPDINT oPc’¢n\S.]n1 alNumPoint5_Inl Cur\reNum=O
`
`.
`59'“ "*0 &D'°W|"‘°
`CDFOWWO &UwW|I1'0. CXFOIMED &1‘W"
`
`59-‘W0 nsiofmC
`Sefiransfurm CKFOFMZU 55-!*F°fm
`
`
`Gelposilicn LPPOWT [P05
`
`
`cunsl oint 5ctDffse't
`
`
`canal Caint &lGri:'n, double tSheurFcIctur. B04. BAIJDUUE
`[EEflconst CPaint acoriin, doubleMnle
`
`
`const CPoinl &0riEn. double ><Score. double Scale
`
`
`60051 CXFDWHED 5I><‘°"“
`
`
`
`eICcntexlMenu Crnenu -Menu. BOOI. bEdit0ni
`
`
`GetNum dilfitlions
`
`
`flI
`‘"1 Hdx. char -_ lrll ‘Iter-
`
`
`Ge'tNumC=nH==TP*8
`GelConrIeI::lPt5 LPFOINT |pF’oints
`
`
`GetConnectPt inl
`linden.
`I.P90|NT rF‘oinI. LF'Point IPo:‘ntHeference.nu|_§_
`
`
`
`
`
`Get0°t0-
`- Selflala int
`iTgpe. void - pnatn
`
`Suva
`
`
`' int LL.tnctID.__.void. -010
`
`Get5hoeNnme LF'STRIstr..
`Int -Max.
`u.1:
`
`
`
`10
`
`10
`
`

`
`US. Patent
`
`sgp.2§,1_999
`f
`
`
`Sheet 5 of5
`
`5,959,633
`
`T10
`MOUSE CLICK
`
`USER ENTERS
`
`. FIG; 6.
`
`
`
`
`MESSAGE
`'
`IF AN EXTERNAL
`
`
`AP5P"-ZEAEFON
`I
`= _
`s_'E_'LE_'c:TETJ
`ROUTED TO THE
`
`-'
`_.-
`AC-IT.]0N"lN THE
`APPROPRIATE
`
`'
`APPLICATION
`EXTERNAL SHAPE
`
`
`
` ACTION
`PROCESS
`
`MESSAGE
`
`
`
`11
`
`11
`
`

`
`
`
`5,959,633
`
`1
`ME'l‘I{OI) AND SYSTEM FOR PRODUCING
`GRAPI-IICAL IMAGES
`’|‘ECHNlCr‘-‘LL FIELD OF THE INVENTION
`
`2
`the
`lower cost. In addition,
`provided more frequently at
`invention provides for the modular production of additional
`shapes. Shapes may be grouped in diflerent modules based
`.on similarity cl’ appearance or other characteristics» such as
`intended use. For example, shapes commonly used "in a
`particular technical field may be grouped in one module. The '
`invention also provides an architecture that allows for the
`integration of additional shapes with an existing computer
`program without modifying that existing program:
`BRIEF DESCRIEVHON OF THE DRAWINGS
`
`For a more complete understanding of the present inven-
`tion and the advantages thereof. reference is now made to
`the following descriptions taken in connection with the
`accompanying drawings in which:
`FIG. 1 illustrates a computer graphics system;
`FIG. 2 illustrates in more detail the software architecture
`of the computer graphics system;
`FIG. 3A illustrates the interaction between a graphics
`application and shape library;
`FIG. 3]! illustrates details of an internal action shown in
`FIG. 3A:
`FIG. 3C illustrates details of an internal symbol shown in
`FIG. 3A:
`_
`FIG. 4 shows a sehem atie of the external action aswciated
`with the external shape shown in FIG. 3A;
`FIG. 5 shows a schematic or the external symbol associ-
`ated with the external shape shown in FIG. 3A; and
`H6. 6 is an example flow chart of an example external
`action.
`
`DETAILED DE.SCR|PTl0N OF THE
`INVENTION
`An embodiment of the present invention and its advan-
`tages are best understood by referring to FIGS. 1 through 6
`of the drawings,
`like numerals being used for
`like and
`corresponding parts of the various drawings.
`FIG. 1 slow: a schematic diagram of a oomputcrgraphics
`system 1.10 acoording to one embodiment of the invention.
`Computer graphics system 110 comprises computer soft-
`ware running on a general purpose computer. Computer
`graphics system 110 comprises a-processor I12. inputdevice
`114, output device 116, memory 118, and disk drive 120.
`The present
`invention composes computer software that
`may be stored in memory I13 or on disk drive 120 and is
`executed by processor 112. Disk drive 12!] may comprise a
`variety of types of storage media such as,
`[or cttamplc,
`floppy disk drives, hard disk drives, CD ROM disk drives,
`or magnr.-.tic tape drives. l.'.ta'ta may be received Irorn the user
`of computer graphics system Ill] using a keyboard or any
`other type ofinput device 114. Data may be output to at user
`of computer graphics system 110 through output device 115.
`Output device 116 may comprise a variety of types ofcutput
`devices such as. for example. a computer display or a printer.
`Computer graphics system Ill] comprises computer
`graphics application I22, which is a computer sofiware
`program for producing graphical images on output device
`116. In FIG. 1, computer graphics application 122 is illus-
`trated as being stored in memory 118 for execution by
`processor 112. Computer graphics application 112 may also
`be stored in disk drive I20. Computer graphifi application
`122 tcceives information Irom input device 114 and pro-
`duces graphical images on output device 116. Computer
`graphics system ‘L10 further comprises an cxlcmal shape
`
`This invention relates generally to the field of computer 5
`graphics and more particularly to a method and system for
`producing graphical images.
`BACKGROUND OF THE IN\"EN'l'lON
`
`10
`
`IS
`
`Systems for creating oomputer graphics are well known.
`Many computer graphics systems provide tools within a
`computer program that allow a user to draw and edit a
`variety of shapes. However, conventional systems only
`enable a user to draw and edit a limited number of shapes.
`If additional shapes are desired, Ill! computer program in the
`system must be modified to include the additional
`tools
`needed to draw and edit the desired shape} Additfig new tools
`to the computer program each time a new shape isfdesirpd
`is a lengthy and costly process. Funhen'i_1ore 'oI'ice‘-a"coi_1i'-
`puter program is released; it becomes difir.-ult-'to _updat_e ihg .-
`program with additional shapes.
`1
`:
`In an effort to overcome these disadvantages, one corn-
`puter graphics system incorporates a limited component
`plu g-in capability utilizi ng tables. when a particular shape is
`desired. the system accesses a table of data Iiles. The data
`tiles contain information describing a shape. The shape is
`then created and edited with‘-tools within the_ computer
`program. Such a system is limited to editing and creating
`shapes in ways permitted by the tools within the computer
`program. Thus, although shapes may he added aller release
`of the computer program. the shapes that may be added are
`limited to shapes that
`the internal
`tools in the computer
`program know‘ how to create land edit.
`
`JD
`
`SUMMARY 0F.Tl-IE! 1N VENT] UN
`"therefore, a need has arisen for a new method and system
`that overcomes the disadvantages and deficiencies ol_ the
`prior art.
`I
`The invention includes a method and system for genot-
`aling graphical images. According to one embodiment of the
`invention, a method for producing graphical imagcs includes
`executing a computer program and providing a shape library
`external to the com puter program. The shfape lilivraryoefines.
`a shape having associated capabilities. Tbc'melhod;l'unhc_r
`comprises providing the capabilities associathd )AijitI3.t,_he
`"shape to the computer progr_a,rtt while [the applipatiorujis
`executing and generating a graphical image basedion the"
`capabilities.
`_
`I 1
`'
`According to_another_em|_>odiment of the invention a
`system "for producing graphical. images includes a computer-
`rcadabic -medium and a computcrptogram encoded on -the
`ccmputer—readal:le medium. '[t_te.computer program is oper-;
`able to access an external shape stored outside the computer
`program. The external shapghas external capabilities. The
`computer program is further operable to delegate the pro-
`duction of a graphical image of the external shape to the
`external capabilities.
`The invention provides several technical advantages. New
`shapes may be added easily without rewriting the underlying
`computer program. rflddilionally, shapes may be deivclopcd
`by third parties, addressing particular markets. t’-‘urtherrnore.
`because shapes may be developed cxtcrnalto the computer
`program, they may be developed outside the application
`project schedule. Moreover. because shapes may be added
`easily, upgrades to the computer graphics package may be
`
`re
`
`45
`
`.
`
`__
`
`I55
`
`
`
`
`
`12
`
`12
`
`

`
`
`
`5,959,633
`
`15
`
`3
`library I24. In FIG. 1. shape library 12:‘ is illustrated as
`being stored in memory 118. Shape library 123 may alsobc
`stored in disk drive 12!]. Shape library 124 contains infor-
`mation used by computer graphics application 122 to pro-
`duce graphical images on output device 116. lnt'ormatiot1 in
`shape library 124 is communicated to computer graphics
`application 122 through communication tintt 126. The com-
`putcr graphics system 110 further comprises a shared library
`130.
`In FIG. 1, shared library 130 is 'rl_lustrat__ed as being
`stored in memory 118. However. as discussed_.tn greater
`detail below. shared library 130 may also be s_tored_'in disk to
`drive 12». Shared library 130 provides '-a group of_ tfiitjity =
`functions that may ht: used by either onri1p'Lt_te_r graphic:
`system 110 or shape library 124.
`'
`‘
`FIG. 2 shows a schematic of memory Us in block
`diagram form. fttrthcr illustrating computer graphics appli-
`cation 122. shape library 124. communication link I26, and
`shared library 130 shown in FIG. 1. The computer graphics
`application 122 is a shape manipulator that, as discussed in
`greater detail below, is operable to access generic capabilii
`ties associated with an external shape and delegate the
`production ofa graphical image of the external shape to the
`capabilities associated with the shape. The production of at
`graphical image may comprise. for example. generating data
`that may be used by the computer graphics application 122
`to place a graphical image on an output device, generating-
`data and placing a graphical
`image. on an output device.
`writing a representation of a graphical image to memory. or
`the generation of other forms of:reprt-.sent:u ions of graphical
`images. Capabilities are actlonmethods, symbol methods, or
`any other functions that allow the generation of infonrtation
`required to produce a graphical image. Exemplary action
`methods and symbol methods are discussed below. The
`ability to place the capahilitiesiof a shape outside computer
`graphics application 122 provides several technical advan-
`tagcs. For example, shapes notcontemptated at the time of
`creation of computer graphir5‘app|ical,:ion 132 may ‘be
`subsequently arlded to computer graphics systefrrt 120 wit_h_-
`out modifying computer graphics applic'a'tiop'
`.12-2':
`Additionally. shapes may be developed‘ by -third ip_a:mj'cs.
`addressing particular markets. Furthermore, bedause’-shapes
`may be developed external to Ihecomputer graphics appli-
`cation l22, thtty may _bc developed outside the application
`project schedule. In addition.
`invention provides for the
`rn_odula_r productlonof addil
`rt_al shapes. Shapes may be
`gIUuped_i_n diEl't_:rent modules __sed on similarity of appear-'.
`ance or other characteristics.- such as intended use. For
`example, shapes commonly used in a particular technical
`field may be grouped in one module. The invcntion also
`provides an architecture that allows for the integration of
`additional shapes with an existing computer program with-
`out modifying that existing program.
`The shape library 124! composes a plurality of shape
`collection modules 212 and 214. In a particular embodiment.
`shape collection modules 212-and 214 comprise a dynamic
`link library (DLL) that allows executable routines to be
`stored separately as films with DLL cxlcnsiors and to be’
`loaded only when rtocdcd by- the program that calls them. In
`that embodiment, shapccotlection DLLs 2'12 and 214' art:
`self-registering DLLS. which means they comprise two
`functions to register and unregister themselves through a
`system registry database for recognition by the cornputer
`graphitx application 122. However, Lhc_prcst:nt invention
`contemplates any suitable" software afrchitecture‘ using
`dynamic link libraries, plug-ins. cxtcnsions.
`Iln
`alization
`tiles, or other modular arrangement that=allows ‘shajpe ‘clot:
`lection modules 212 and 214 to be stoicdil-cxlc'rn'al {Id
`computer graphics application 122.
`'
`-'
`'-
`'
`'
`‘
`
`4
`Shape collection modules 212 and 21-1 may bc loaded into
`memory 118 from dislr drivcs12EI when needed by computer
`graphics application 122. In one embodiment, shape collec-
`tion modulcs 212 and 214 are loaded into memory I18 when
`computer graphics application 122 is executed. E-ecause
`shape collection modules 212 and 214 are separate from
`computer graphics application 122. additions or improve-
`ments may be made to shape collection modules 212 and
`114 without aficcting the operation of computer graphics
`application 122. Although two shape collect ton modules 212
`and 214-_arc explicitly Qtown, the computer graphics appli-
`cation 122 supports any? number of shape collection mort-
`ttles. Shape collection library 124 may comprise,
`for
`example, shape collection modules delivered with computer
`graphics application 112, shape collection modules subse-
`quently provided, and shape oollcction modules developed
`by third panics. Shape collection modules in shape library
`124 may be organized in a variety of fort1'taLs, including a hat
`slrttctttre or
`rt hierarchittl arrangcrncnt.
`In a hicrarchial
`arrangement, related shape collection modules may contain
`sub-modules. The criteria for grouping shape collection
`modules and sub-modules may comprise appearance. Field
`of application, or other suitable criteria for arranging col-
`lections of shapes. For example. shape collection module
`212 may contain various toms of arrow shapes. and shape
`‘collection module 214 may contain various shapes related to
`digital electronic circuits.
`The shared library 130 may also be a DLL. However, the
`present invention contemplates any suitable software archi-
`tecture using dynamic link libraries, plug-ins,_c:ttct_1sions.
`initialization ftlcs, or other modular arrangement that allows
`utility Eunct ions to be stored etrtematly to computer graphics
`application 122 and shape library 121. Shared library 130
`may be loaded into memory 118 £rom disk drives 12.0 when
`needed by computer graphics application 122. Shared
`library 130 provides a group of utility functions that may be
`used by either computer graphics system 1.10 or shape
`library :24. Examples of these utility functions include. for
`exa mpte. drawing small markers on a computer screen. such
`as on output device 116. or drawing ll gradient blend.
`The Communication _Iinl( 126 allows communication
`between computer graphics application 122 and shape
`library 124. Communication link 1.26 may comprise. for
`example.
`the component object model 210 used by the
`Object Linking and Embedding (OLE) technology devel-
`oped by Microsoft. Communication linlr 126 may also
`comprise a simpledynamic link library application program
`interface. pipes. shared memories. or sockets as usedvto.a
`UNIX operating environment as well as other emerging
`object-oriented technologies, such as 0pcnDor:, Netttstep.
`and CDRBA. Communication link 126 allows communica-
`tion of complex objects between external modules 212 and
`214 and computer graphics application 123 without requir-
`ing knowtodge of the contents of the external modules 212
`and 214.
`FIG. 3A shows at schematic ot' computer graphics appli-
`cation 122 and its interaction with shape library 124 in block
`diagram t'on'n, further illustrating details of computer graph-
`ics apptication 122. The computer graphicsapplication 122
`comprises a plurality of internal shapes 310 and 310 and one -
`external shape J30.
`lntcrnal shapes 31D .and 320 each
`comprise information used by computer graphics applica-
`tion 122 to produce a ditfetent graphical image on output
`device 116. These images may comprise. for example. a
`circle or a rectangle. External shape tem plate 330 comprises
`pointers to shapes contained within shape library 124. which
`are used by oomputer graphics application 122 to produce
`graphical images that art: not supported by internal shapes
`310 hr 320.
`'
`
`-
`
`3D
`
`40
`'
`
`45
`
`SD
`
`SCI
`
`13
`
`13
`
`

`
`5
`Each internal shape 310. 32!] comprises a set of internal
`actions 312 and an internal symbol 314. Internal a_cti‘orI.-t 3.112
`comprise a set of internal action methods 313 and asetiot‘ 3
`internal action data 311, shown in FIG. 332- Internal ;a:§ll:0t‘t
`methods 313 are functions that operate on internal "action
`data 311 to generate an internal action 312..An internal
`action 312 allows computer gfaplilits application 122 to pass
`user interaction from input device 114, such as mouse and
`keyboard inputs, to internal symbol methods 31".‘. which in
`turn generate information used by computer graphics appli—,
`cation 122 to create, edit, render, modify, read. or write it
`graphical object. Examples of internal actions 312 comprise
`the create action and edit actions. The create action creates
`a representation ofgraphical image. for example a rectangle,
`that the computer graphics application 122 places on an
`output device. An edit action allows editing a graphical
`image. Both the create action and the edit action may
`comprise clicking on an external shape button or a menu
`item on a graphical user interface.
`lntemal symbol 314 comprises a set of internal symbol
`methods 31? and a set of internal symbol data 315. as shown
`in FIG. 3C. The internal symbol methods 31'?‘ are functions
`that operate on internal symbot data 315 to generate infor-
`mation used by computer graphics application 122 to create,
`edit, render. modify. read. or write it graphical object on
`output device 116. For example.
`internal symbol methods
`31'! may rotate a representation of a rectangle and the
`computer graphics application 122 may place a rotated
`rectangle on a computer screen based on-,th.e representation
`of the rotated rectangle produced by ttt_e._inte;nal ,_sy_n1_lgo1
`rnctho-rls3l'l'.
`._
`_-
`'
`.-'<:,'.--ii]
`FIG. 3A also illustralettshape library 12-ll-l T.l'tt_§-_§l'Iti__'pc
`library 124 comprises a plurality of shape collection "mod-'
`ules 212 and 214. Each shape=collection module 212, 214
`comprises a plurality of external shapes, such as external
`shapes 350, 360, and 310. Shape collection rnoduIcs212 and
`214 may he organized such ‘th'at'similar shapes are contained
`within the same shape collection module. Exten-ial shape
`350 comprises a plurality of cxlt-'.rt_1_al actions 352, 353, an
`external symbol 354. and ex'te'rnaI,resources 356. External
`resources 356 provide additional infonnation used by com-
`puter graphics application 122 t_o generate graphical images.
`for example, information related to hit mapped images.
`The cxtcrnal shape template 330 does not comprise a
`predetermined set of actions__. and a symbol. Rather.
`in
`response to information from device 114. external shape
`template 330 aoccsses an external shape contained within
`shape library 124, such as extcmal shape 350 or 360. to
`utilize the capabilities of the external shape. The external
`shape template 330 comprises‘ an external action template
`332 and an external symbol- template 334. The cxlcmal
`action template 332 accesses an external action. such as
`external actions 352 and 362'. and the external syrrtbol
`template 334 accesses an external symbol, such as external
`symbols 354 antl 366.
`'
`'
`In FIG. 3A, external shape template 330 is assi:xciat'ed with
`_ two shapes 350 and 36!] in shaptvlihrary 124. Fnfrfshape 1.50,
`external action template 332 points to extemat ’action"352 -'
`and external symbol template 334 points to bxiernal hyttttiol
`35-I. For shape 350. external action template 3S§‘.'p'oirtts to
`external action 362 and external symbol templa1e"33-1 points
`to external symbol 366. In F1Gf3A. shape template 3.3!] does
`not point to shape 370. P0iI1tin'g'to shapes 351] and 36!! and
`not pointing to shape 31-'0 by_'external shape template 33!)
`corresponds to the conditionicf displaying two external
`shapes 350 and 36!} contained within shape library l2«1 on
`output device ‘I16 and riot displaying a third cxlcmal shape
`378.‘
`
`40
`
`45
`
`50
`
`65
`
`5,959,633
`
`15
`
`25
`
`6
`*3 shows a schematic of an external action 352.
`FIG.
`associated with "external shape 350. Extcmal action 352
`comprises external action data 51!) and external action
`methods 512. External action methods 51.2 are fitnclions that
`work together to operate on external action data Sill to
`create an external action. An external action, such as exter-
`nal action 352. allows computer graphics application 122 to
`pass user interaction from input device 114, such as mouse
`and keyboard inputs. to external symbol mcthodsfilz, which
`as discussed below are functions that operate to create. edit,
`tender. modify. read. or write a graphical object on output
`device 115. Examples of cxtemal action 364 comprise the
`create action and‘ edit actions. The create action creates a
`graphical imagc,_Eor example a star. Art edit action allows
`editing rt graphical image. for example editing a star. A user
`may invoke the create star extemal action. for example. by
`clicking on a star button in a graphical user interface. The
`star button may provide a menu with a variety of types of
`Slllfi.
`External action methods 512 comprise generic action
`methods 518. Generic action methods 518 comprise generic
`functions that art: operable in combination to receive user
`interaction're'ceived by the computer graphics application
`122 from input device 114 for manipulation of shapes that
`are not contained within computer graphics application 122
`and that comprise a configuration unknown to computer
`graphics application 122. The generic action methods 518
`are defined generically in such a way that
`they may he
`applied to any type of shape. Unlike conventional systems,
`they are not specific to any one shape. The computer
`graphics application I22. is written to be operable to access
`the generic access methods 518 and the generic action
`methods 518 are exhaustive such that any action that may be
`associated with any shape can be represented by the generic
`access methods 518. Thus. the generic action methods 518
`are generic enough to allow for the subsequent creation of
`new actions through the use of generic action rnethods_S18.
`'l1ie use of genetic action methods 518 and. as discussed
`below, generic symbol methods 618 allows external shapes
`to he used by computer graphir: application 122.
`__
`One of the generic action methods 518 comprises an
`initialization method, Ci-Kclionlnit method. The Ciihclionlnit
`method allows an external shape to communicate with the
`computer graphics application 122. After execution of an
`external action. data or events are communicated by the
`external action through a callback function provided in the
`initialization ofthe action. The callback function isprovided
`in the initialization-of an action by a pointer within the
`C'.At‘Ii.Dninit method. -Data transfers that may be communi-
`cated by an external shape to the computer graphics appli-
`cation 122 through the use ofa callback function provided
`in the initialization of an action comprise the transfer of an
`external symbol to the computer graphics application for
`insertion into a current drawing. querying a disk path to a
`CD-ROM for retrieving a file from the CD-ROM, passing
`data for “undoii-lg" an operation. retrieving the area of it
`current page Selection, or other types of data transfers.
`Events that may be communicated by an external shape to
`the computer graphics application 122 through the use of a
`callback function provided in the initialization of an action
`comprise notifying the application to display or not
`to
`display selection markers. notifying the computer graphics
`application 122 that the extemat symbol has been changed.
`invalidating the area of the external symbol_l'or reprinting, or
`other events that may need to be communicated to the
`computer graphics application hy.an cxtcrnal action.
`External action 352 is at quci"yable inte‘rfa'ce. ‘A queryable
`interface may receive.rs_q_;ests for 'cornmtrnicatio'n.in.diEer-
`
`14
`
`

`
` ijzs.-.2
`
`59,633
`
`I
`
`'-I
`
`8
`Referring now to FIGS. 1 through I5 of the drawings. the
`operation oi one embodiment of the invention will be
`described. if a user desires to create an arrow on a computer
`screen. he makes an appropriate demand through input
`device 114. Such a demand may comprise, for exatnplc.
`clicking on a button in a graphical user interface with a
`mouse on a panicuiar area of a oomputer screen to select-a
`menu item. In response to a request from input device 114.
`computer graphics application 122 dcterrnines whcthcr the
`desired graphical image is an external shape or an intemal
`shape. If it is an exlemsl shape, external shape template 330
`accesses external actions and an external symbol from a
`shape in shape library 124 that is associated with the desired
`external shape. The execution oflhe external actions and the
`external symbol may draw an arrow on output device 116.
`Because the external actions comprise generic: action meth-
`ods 513 and the external symbol comprises generic symbol
`methods 615. the computer graphics application 122, which
`is operable to aocess_a nd use generic action methods 518 and
`generic symbol methods 618. is able to produce a graphic
`image based on an external shape, even if the external shape
`was produced subsequent to the generation of computer
`graphics application 122.
`Tl'lcrel'olt'.. the invention provides a systcrri for the pro-
`duclion of graphical images that allows shapes to be stored
`outside the computer program using the shapes. New shapes
`may be added to the system without incurring the disadvan-
`tages associated with revising the computer program.
`Furthcnnore. because the invention provides a program
`operable to receive a robust set of generic action methods
`518 and a robust set of generic symbol methods 618 from
`external shapes in shape library 124, the inve.rttion_ allows for
`the addition of shapes with capabilities not contemplated at
`the time the computer program was written. Thus. Ltnlilrc
`conventiortal systems. the invent_i'on E not limited to utiliz-
`ing exlernal shapes that-have piedetcrmincd capabilities!"
`Although the invention has been particularly shown and
`described by the foregoing detailed "description. it will be .
`ttrtdersto-od by those skilled in the an that various other
`changes in form and detail may be made without departing
`from the spirit and scope of the invention.
`-What is claimed is‘
`l. A computerized system comprising:
`a storage medium;
`'
`a processor coupled to the storage medium;
`the
`a computer program stored in the storage medium,
`computer program operable to run on the processor. the
`computer program further operable to:
`access an external shape stored outside the computer
`program.
`the external shape comprising external
`capabilities; and
`image of the
`delegate the production of a graphical
`external shape to‘ the external capabilities.
`I. The computerized system of claim 1. wherein the
`computer program is further operable to:
`access an external shape stored outside the computer
`program.
`the external shape comprising an external
`action and an external symbol‘. and
`delegate Ihe production of graphical image of the c

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket