3 libbasetype struct IntHIDDGraphicsBase
8 classptr_field hdg_csd.gfxhiddclass
9 classdatatype struct HIDDGraphicsData
10 oopbase_field hdg_csd.cs_OOPBase
11 seglist_field hdg_csd.cs_SegList
15 #include <hidd/graphics.h>
16 #include "graphics_intern.h"
63 classid CLID_Hidd_BitMap
65 classptr_field hdg_csd.bitmapclass
66 classdatatype struct HIDDBitMapData
75 .interface Hidd_BitMap
133 SetRGBConversionFunction
145 classptr_field hdg_csd.gcclass
146 classdatatype struct gc_data
165 classid CLID_Hidd_ColorMap
167 classptr_field hdg_csd.colormapclass
168 classdatatype struct colormap_data
176 .interface Hidd_ColorMap
189 classptr_field hdg_csd.pixfmtclass
190 classdatatype struct pixfmt_data
197 #.interface PixFmt (is an empty interface needed ?)
207 classptr_field hdg_csd.syncclass
208 classdatatype struct sync_data
217 #.interface Sync (is an empty interface needed ?)
227 classid CLID_Hidd_PlanarBM
228 superclass CLID_Hidd_BitMap
229 classptr_field hdg_csd.planarbmclass
230 classdatatype struct planarbm_data
238 .interface Hidd_BitMap
244 .interface Hidd_PlanarBM
256 classid CLID_Hidd_ChunkyBM
257 superclass CLID_Hidd_BitMap
258 classptr_field hdg_csd.chunkybmclass
259 classdatatype struct chunkybm_data
268 .interface Hidd_BitMap
285 interfaceid hidd.graphics.graphics
286 interfacename Hidd_Gfx
288 methodbase HiddGfxBase
289 attributebase HiddGfxAttrBase
292 ##begin attributelist
293 BOOL IsWindowed # [..G] Whether the HIDD is using host's window system
294 ULONG DPMSLevel # [ISG] DPMS level
295 struct TagItem * PixFmtTags # [I..]
296 struct TagItem * SyncTags # [I..]
297 struct TagItem * ModeTags # [I..] Display modes description
298 ULONG NumSyncs # [..G] The number of different syncs the gfxcard can do
299 BOOL SupportsHWCursor # [..G] SupportsHWCursor (obsolete)
300 BOOL NoFrameBuffer # [..G] if the hidd does not need a framebuffer
301 UBYTE HWSpriteTypes # [..G] Supported types of hardware sprites
302 ULONG MemorySize # [..G] Size of video card's memory in bytes
303 ULONG MemoryClock # [..G] A video card's memory clock in Hz
304 STRPTR DriverName # [..G] A name of driver for CyberGraphX
305 APTR ActiveCallBack # [.S.] Display activation callback function
306 APTR ActiveCallBackData # [.S.] User data for activation callback
307 OOP_Object * DefaultGC # [..G] Default GC for copy operations
308 UBYTE FrameBufferType # [I.G] Framebuffer type
309 BOOL SupportsGamma # [..G] Supports gamma correction table
313 OOP_Object * NewGC(struct TagItem *attrList)
314 void DisposeGC(OOP_Object *gc)
315 OOP_Object * NewBitMap(struct TagItem *attrList)
316 void DisposeBitMap(OOP_Object *bitMap)
317 HIDDT_ModeID * QueryModeIDs(struct TagItem *queryTags)
318 VOID ReleaseModeIDs(HIDDT_ModeID *modeIDs)
319 HIDDT_ModeID NextModeID(HIDDT_ModeID modeID, OOP_Object **syncPtr, OOP_Object **pixFmtPtr)
320 BOOL GetMode(HIDDT_ModeID modeID, OOP_Object **syncPtr, OOP_Object **pixFmtPtr)
321 BOOL CheckMode(HIDDT_ModeID modeID, OOP_Object *sync, OOP_Object *pixFmt)
322 OOP_Object * GetPixFmt(HIDDT_StdPixFmt stdPixFmt)
323 BOOL SetCursorShape(OOP_Object *shape, WORD xoffset, WORD yoffset)
324 BOOL SetCursorPos(WORD x, WORD y)
325 VOID SetCursorVisible(BOOL visible)
326 BOOL SetMode(OOP_Object *sync)
327 OOP_Object *Show(OOP_Object *bitMap, ULONG flags)
328 VOID CopyBox(OOP_Object *src, WORD srcX, WORD srcY, OOP_Object *dest, WORD destX, WORD destY, UWORD width, UWORD height, OOP_Object *gc)
329 VOID ShowImminentReset() # Obsolete
330 ULONG ModeProperties(HIDDT_ModeID modeID, struct HIDD_ModeProperties *props, ULONG propsLen)
331 ULONG ShowViewPorts(struct HIDD_ViewPortData *Data)
332 OOP_Object *GetSync(ULONG num)
333 BOOL GetGamma(UBYTE *Red, UBYTE *Green, UBYTE *Blue)
334 BOOL SetGamma(UBYTE *Red, UBYTE *Green, UBYTE *Blue)
335 BOOL QueryHardware3D(OOP_Object *pixFmt)
336 BOOL GetMaxSpriteSize(ULONG Type, ULONG *Width, ULONG *Height)
337 OOP_Object * NewOverlay(struct TagItem *attrList)
338 void DisposeOverlay(OOP_Object *Overlay)
339 ULONG MakeViewPort(struct HIDD_ViewPortData *Data)
340 void CleanViewPort(struct HIDD_ViewPortData *Data)
341 ULONG PrepareViewPorts(struct HIDD_ViewPortData *Data, struct View *view)
342 BOOL CopyBoxMasked(OOP_Object *src, WORD srcX, WORD srcY, OOP_Object *dest, WORD destX, WORD destY, UWORD width, UWORD height, PLANEPTR mask, OOP_Object *gc)
348 interfaceid graphics.hidd.bitmap
349 interfacename Hidd_BitMap
351 methodbase HiddBitMapBase
352 attributebase HiddBitMapAttrBase
355 ##begin attributelist
356 UWORD Width # [ISG] Bitmap width
357 UWORD Height # [ISG] Bitmap height
358 BOOL Displayable # [I.G] Bitmap is displayable (default: FALSE)
359 BOOL Visible # [..G] Check if a bitmap is visible
360 BOOL IsLinearMem # [..G] Is the bitmap memory contiguous
361 ULONG BytesPerRow # [..G] Number of bytes in a row
362 OOP_Object *ColorMap # [..G] Colormap of the bitmap
363 struct BitMap *BMStruct # [I.G] BitMap object's associated struct BitMap
364 OOP_Object *Friend # [I.G] Friend bitmap.
365 OOP_Object *GfxHidd # [..G] Pointer to the gfxhidd object this bitmap was created with
366 HIDDT_StdPixFmt StdPixFmt # [I..] What stdpixel format the bitmap should have.
367 OOP_Object * PixFmt # [..G] This is complete pixfmt of a bitmap
368 HIDDT_ModeID ModeID # [I.G] Must be passed on initialization of aHidd_BitMap_Displayable=TRUE bitmaps.
369 OOP_Class *ClassPtr # [I..] Only used by subclasses of the gfx
370 CONST_STRPTR ClassID # [I..] Only used by subclasses of the gfx
371 .skip 1 # APTR PixFmtTags
372 BOOL FrameBuffer # [I..] Allocate framebuffer
373 WORD LeftEdge # [.SG] Left edge position of the bitmap
374 WORD TopEdge # [.SG] Top edge position of the bitmap
375 UWORD Align # [I..] Number of pixels to align bitmap data width to
376 UWORD Depth # [..G] Bitmap depth
377 BOOL ModeChange # [I..] Supports mode ID change
378 BOOL Compositable # [ISG] Can be Displayed via Compositor (Mutually exclusive with Displayable)
382 BOOL SetColors(HIDDT_Color *colors, UWORD firstColor, UWORD numColors)
383 VOID PutPixel(WORD x, WORD y, HIDDT_Pixel pixel)
384 VOID DrawPixel(OOP_Object *gc, WORD x, WORD y)
385 VOID PutImage(OOP_Object *gc, UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_StdPixFmt pixFmt)
386 VOID PutAlphaImage(OOP_Object *gc, UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height)
387 VOID PutTemplate(OOP_Object *gc, UBYTE *masktemplate, ULONG modulo, WORD srcx, WORD x, WORD y, WORD width, WORD height, BOOL inverttemplate)
388 VOID PutAlphaTemplate(OOP_Object *gc, UBYTE *alpha, ULONG modulo, WORD x, WORD y, WORD width, WORD height, BOOL invertalpha)
389 VOID PutPattern(OOP_Object *gc, UBYTE *pattern, WORD patternsrcx, WORD patternsrcy, WORD patternheight, WORD patterndepth, HIDDT_PixelLUT *patternlut, BOOL invertpattern, UBYTE *mask, ULONG maskmodulo, WORD masksrcx, WORD x, WORD y, WORD width, WORD height)
390 VOID GetImage(UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_StdPixFmt pixFmt)
391 HIDDT_Pixel GetPixel(WORD x, WORD y)
392 VOID DrawLine(OOP_Object *gc, WORD x1, WORD y1, WORD x2, WORD y2)
393 VOID DrawRect(OOP_Object *gc, WORD minX, WORD minY, WORD maxX, WORD maxY)
394 VOID FillRect(OOP_Object *gc, WORD minX, WORD minY, WORD maxX, WORD maxY)
395 VOID DrawEllipse(OOP_Object *gc, WORD x, WORD y, WORD rx, WORD ry)
396 VOID FillEllipse(OOP_Object *gc, WORD x, WORD y, WORD ry, WORD rx)
397 VOID DrawPolygon(OOP_Object *gc, UWORD n, WORD *coords)
398 VOID FillPolygon(OOP_Object *gc, UWORD n, WORD *coords)
399 VOID DrawText(OOP_Object *gc, WORD x, WORD y, STRPTR text, UWORD length)
400 VOID FillText(OOP_Object *gc, WORD x, WORD y, STRPTR text, UWORD length)
401 VOID FillSpan() # Obsolete
402 VOID Clear(OOP_Object *gc)
403 VOID BlitColorExpansion(OOP_Object *gc, OOP_Object *srcBitMap, WORD srcX, WORD srcY, WORD destX, WORD destY, UWORD width, UWORD height)
404 HIDDT_Pixel MapColor(HIDDT_Color *color)
405 VOID UnmapPixel(HIDDT_Pixel pixel, HIDDT_Color *color)
406 VOID PutImageLUT(OOP_Object *gc, UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_PixelLUT *pixlut)
407 VOID PutTranspImageLUT(OOP_Object *gc, UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_PixelLUT *pixlut, UBYTE transparent)
408 VOID GetImageLUT(UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_PixelLUT *pixlut)
409 ULONG BytesPerLine(HIDDT_StdPixFmt pixFmt, UWORD width)
410 VOID ConvertPixels(APTR *srcPixels, HIDDT_PixelFormat *srcPixFmt, ULONG srcMod, APTR *dstBuf, HIDDT_PixelFormat *dstPixFmt, ULONG dstMod, UWORD width, UWORD height, HIDDT_PixelLUT *pixlut)
411 VOID FillMemRect8(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod, UBYTE fill)
412 VOID FillMemRect16(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod, UWORD fill)
413 VOID FillMemRect24(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod, ULONG fill)
414 VOID FillMemRect32(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod, ULONG fill)
415 VOID InvertMemRect(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod)
416 VOID CopyMemBox8(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
417 VOID CopyMemBox16(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
418 VOID CopyMemBox24(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
419 VOID CopyMemBox32(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
420 VOID CopyLUTMemBox16(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod, HIDDT_PixelLUT *pixlut)
421 VOID CopyLUTMemBox24(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod, HIDDT_PixelLUT *pixlut)
422 VOID CopyLUTMemBox32(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod, HIDDT_PixelLUT *pixlut)
423 VOID PutMem32Image8(APTR src, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
424 VOID PutMem32Image16(APTR src, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
425 VOID PutMem32Image24(APTR src, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
426 VOID GetMem32Image8(APTR src, WORD srcX, WORD srcY, APTR dst, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
427 VOID GetMem32Image16(APTR src, WORD srcX, WORD srcY, APTR dst, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
428 VOID GetMem32Image24(APTR src, WORD srcX, WORD srcY, APTR dst, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
429 VOID PutMemTemplate8(OOP_Object *gc, UBYTE *masktemplate, ULONG modulo, WORD srcx, APTR dst, ULONG dstMod, WORD x, WORD y, WORD width, WORD height, BOOL inverttemplate)
430 VOID PutMemTemplate16(OOP_Object *gc, UBYTE *masktemplate, ULONG modulo, WORD srcx, APTR dst, ULONG dstMod, WORD x, WORD y, WORD width, WORD height, BOOL inverttemplate)
431 VOID PutMemTemplate24(OOP_Object *gc, UBYTE *masktemplate, ULONG modulo, WORD srcx, APTR dst, ULONG dstMod, WORD x, WORD y, WORD width, WORD height, BOOL inverttemplate)
432 VOID PutMemTemplate32(OOP_Object *gc, UBYTE *masktemplate, ULONG modulo, WORD srcx, APTR dst, ULONG dstMod, WORD x, WORD y, WORD width, WORD height, BOOL inverttemplate)
433 VOID PutMemPattern8(OOP_Object *gc, UBYTE *pattern, WORD patternsrcx, WORD patternsrcy, WORD patternheight, WORD patterndepth, HIDDT_PixelLUT *patternlut, BOOL invertpattern, UBYTE *mask, ULONG maskmodulo, WORD masksrcx, APTR dst, ULONG dstMod, WORD x, WORD y, WORD width, WORD height)
434 VOID PutMemPattern16(OOP_Object *gc, UBYTE *pattern, WORD patternsrcx, WORD patternsrcy, WORD patternheight, WORD patterndepth, HIDDT_PixelLUT *patternlut, BOOL invertpattern, UBYTE *mask, ULONG maskmodulo, WORD masksrcx, APTR dst, ULONG dstMod, WORD x, WORD y, WORD width, WORD height)
435 VOID PutMemPattern24(OOP_Object *gc, UBYTE *pattern, WORD patternsrcx, WORD patternsrcy, WORD patternheight, WORD patterndepth, HIDDT_PixelLUT *patternlut, BOOL invertpattern, UBYTE *mask, ULONG maskmodulo, WORD masksrcx, APTR dst, ULONG dstMod, WORD x, WORD y, WORD width, WORD height)
436 VOID PutMemPattern32(OOP_Object *gc, UBYTE *pattern, WORD patternsrcx, WORD patternsrcy, WORD patternheight, WORD patterndepth, HIDDT_PixelLUT *patternlut, BOOL invertpattern, UBYTE *mask, ULONG maskmodulo, WORD masksrcx, APTR dst, ULONG dstMod, WORD x, WORD y, WORD width, WORD height)
437 OOP_Object * SetColorMap(OOP_Object *colorMap)
438 BOOL ObtainDirectAccess(UBYTE **addressReturn, ULONG *widthReturn, ULONG *heightReturn, ULONG *bankSizeReturn, ULONG *memSizeReturn)
439 VOID ReleaseDirectAccess()
440 VOID BitMapScale(OOP_Object *src, OOP_Object *dst, struct BitScaleArgs * bsa, OOP_Object *gc)
441 VOID PrivateSet() # Obsolete
442 HIDDT_RGBConversionFunction SetRGBConversionFunction(HIDDT_StdPixFmt srcPixFmt, HIDDT_StdPixFmt dstPixFmt, HIDDT_RGBConversionFunction function)
443 VOID UpdateRect(WORD x, WORD y, WORD width, WORD height)
449 interfaceid hidd.gfx.gc
450 interfacename Hidd_GC
452 methodbase HiddGCBase
453 attributebase HiddGCAttrBase
456 ##begin attributelist
457 .skip 1 # [...] IPTR Reserved0
458 .skip 1 # [...] IPTR Reserved1
459 Foreground Foreground # [.SG] Foreground color
460 Background Background # [.SG] Background color
461 Draw DrawMode # [.SG] Draw mode
462 .skip 1 # [...] IPTR Reserved2
463 ULONG ColorMask # [.SG] Prevents some color bits from changing
464 Pattern LinePattern # [.SG] Pattern for line drawing
465 Pattern LinePatternCnt # [.SG] Pattern start bit for line drawing
466 .skip 1 # [...] IPTR Reserved3
467 Mode ColorExpansionMode # [.SG] Mode for color expansion
471 VOID SetClipRect(WORD x1, WORD y1, WORD x2, WORD y2)
479 interfaceid hidd.gfx.pixfmt
480 interfacename Hidd_PixFmt
481 methodstub HIDD_PixFmt
482 methodbase HiddPixFmtBase
483 attributebase HiddPixFmtAttrBase
486 ##begin attributelist
487 HIDDT_ColorModel ColorModel
499 HIDDT_StdPixFmt StdPixFmt
502 HIDDT_BitMapType BitMapType
510 interfaceid hidd.gfx.bitmap.planarbm
511 interfacename Hidd_PlanarBM
512 methodstub HIDD_PlanarBM
513 methodbase HiddPlanarBMBase
514 attributebase HiddPlanarBMAttrBase
517 ##begin attributelist
519 struct BitMap *BitMap
523 BOOL SetBitMap(struct BitMap *bitMap)
524 BOOL GetBitMap(struct BitMap *bitMap)
530 interfaceid hidd.gfx.bitmap.chunkybm
531 interfacename Hidd_ChunkyBM
532 methodstub HIDD_ChunkyBM
533 methodbase HiddChunkyBMBase
534 attributebase HiddChunkyBMAttrBase
537 ##begin attributelist
544 interfaceid hidd.graphics.colormap
545 interfacename Hidd_ColorMap
547 methodbase HiddColorMapBase
548 attributebase HiddColorMapAttrBase
551 ##begin attributelist
552 ULONG NumEntries # [I.G] Number of colors in the colormap
556 BOOL SetColors(HIDDT_Color *colors, UWORD firstColor, UWORD numColors, OOP_Object *pixFmt)
557 HIDDT_Pixel GetPixel(ULONG pixelNo)
558 BOOL GetColor(ULONG colorNo, HIDDT_Color *colorReturn)
564 interfaceid hidd.gfx.sync
565 interfacename Hidd_Sync
567 methodbase HiddSyncBase
568 attributebase HiddSyncAttrBase
571 ##begin attributelist
572 ULONG PixelTime # [ISG] (obsolete) pixel clock in picoseconds (1E-12 second)
573 ULONG LeftMargin # [ISG] (obsolete)
574 ULONG RightMargin # [ISG] (obsolete)
575 ULONG HSyncLength # [ISG] (obsolete)
576 ULONG UpperMargin # [ISG] (obsolete)
577 ULONG LowerMargin # [ISG] (obsolete)
578 ULONG VSyncLength # [ISG] (obsolete)
579 ULONG PixelClock # [ISG] Pixel clock in Hz
580 ULONG HDisp # [I.G] displayed pixels per line
581 ULONG HSyncStart # [ISG] time to the start of the horizontal sync
582 ULONG HSyncEnd # [ISG] time to the end of the horizontal sync
583 ULONG HTotal # [ISG] total time to draw one line + the hsync time
584 ULONG VDisp # [I.G] displayed rows
585 ULONG VSyncStart # [ISG] rows to the start of the horizontal sync
586 ULONG VSyncEnd # [ISG] rows to the end of the horizontal sync
587 ULONG VTotal # [ISG] number of rows in the screen includeing vsync
588 STRPTR Description # [I.G] description
589 ULONG HMin # [ISG] minimum acceptable bitmap width
590 ULONG HMax # [ISG] maximum acceptable bitmap width
591 ULONG VMin # [ISG] minimum acceptable bitmap height
592 ULONG VMax # [ISG] maximum acceptable bitmap height
593 ULONG Flags # [I.G] mode tags
594 BOOL Variable # [I.G] data can be modified
595 struct MonitorSpec *MonitorSpec # [I.G] MonitorSpec structure
596 OOP_Object GfxHidd # [I.G] Driver to which the object belongs
597 ULONG BoardNumber # [I..] Number of board (for '%b' in description)
603 interfaceid hidd.graphics.overlay
604 interfacename Hidd_Overlay
607 ##begin attributelist
608 ULONG SrcWidth # [I..] Source width in pixels
609 ULONG SrcHeight # [I..] Source height in pixels
610 ULONG SrcFormat # [I..] Source pixel format
611 ULONG *Error # [I..] Points to location where error code will be placed