1 The gfx HIDD API consists of three interfaces ?
2 IID_Hidd_Gfx, IID_Hidd_GC and IID_Hidd_BitMap, and there
3 are correspondent classes for each interface.
8 When working with gfx.hidd this is the first object you get.
9 It allows you to create BitMap and GC (graphics context)
10 object. The class' methods must be overidden by HW-specific
11 subclasses where documented to do so.
13 Class ID: CLID_Hidd_Gfx
14 Include: <hidd/graphics.h>
27 Object *Hidd_Gfx_CreateGC(Object *gfxHidd, Object *bitMap, UWORD gcType);
30 Create a GC (gfx context) object that may be used for rendering
31 into a bitmap. You can supply what type the GC should be.
32 Currently available types are:
33 - vHidd_GC_Quick. The quickest type of GC, which renders
34 directly into the bitmap without any clipping, or
35 coordinate checking. It's fast, but the user must know
37 - vHidd_GC_Clipping. GC that supports clipping.
39 You can create several GCs of different types for the same bitmap.
41 Subclasses of this clas MUST override this call
42 for the creation of vHidd_GC_Quick GCs.
43 Creation of vHidd_GC_Clipping GCs may be left to this class.
46 bitMap - A BitMap object onto which the GC will perform
47 the rendering operations.
49 gcType - Type of GC to create, currently vHidd_GC_Quick
53 gc - pointer to the newly created GC, ready for use for rendering
57 Not sure if I like this API. Instead of subclasses having to
58 override this method they could somehow tell
59 this class how tell this class from what class to create
60 a vHidd_GC_Quick GC. For example the superclass could pass
61 a aHidd_Gfx_QuickGCClass attribute to us in New().
62 Alternatively we could use class posing.
75 /*************************/
80 VOID Hidd_Gfx_DeleteGC(Object *gfxHidd, Object *gc)
83 Deletes a GC (Grpahics Contect) object previously created
84 by Hidd_Gfx_CreateGC().
86 Subclasses does not have to override this method
87 unless they allocate anything additional to a gc object in
88 their Hidd_Gfx_CreadeGC() implementation.
91 gc - Pointer to gc object to delete. May be a GC of any type.
106 Basically just does DisposeObject(gc);