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"
61 classid CLID_Hidd_BitMap
63 classptr_field hdg_csd.bitmapclass
64 classdatatype struct HIDDBitMapData
73 .interface Hidd_BitMap
131 SetRGBConversionFunction
143 classptr_field hdg_csd.gcclass
144 classdatatype struct gc_data
163 classid CLID_Hidd_ColorMap
165 classptr_field hdg_csd.colormapclass
166 classdatatype struct colormap_data
174 .interface Hidd_ColorMap
187 classptr_field hdg_csd.pixfmtclass
188 classdatatype struct pixfmt_data
195 #.interface PixFmt (is an empty interface needed ?)
205 classptr_field hdg_csd.syncclass
206 classdatatype struct sync_data
215 #.interface Sync (is an empty interface needed ?)
225 classid CLID_Hidd_PlanarBM
226 superclass CLID_Hidd_BitMap
227 classptr_field hdg_csd.planarbmclass
228 classdatatype struct planarbm_data
236 .interface Hidd_BitMap
242 .interface Hidd_PlanarBM
254 classid CLID_Hidd_ChunkyBM
255 superclass CLID_Hidd_BitMap
256 classptr_field hdg_csd.chunkybmclass
257 classdatatype struct chunkybm_data
266 .interface Hidd_BitMap
283 interfaceid hidd.graphics.graphics
284 interfacename Hidd_Gfx
286 methodbase HiddGfxBase
287 attributebase HiddGfxAttrBase
290 ##begin attributelist
291 BOOL IsWindowed # [..G] Whether the HIDD is using host's window system
292 ULONG DPMSLevel # [ISG] DPMS level
293 struct TagItem * PixFmtTags # [I..]
294 struct TagItem * SyncTags # [I..]
295 struct TagItem * ModeTags # [I..] Display modes description
296 ULONG NumSyncs # [..G] The number of different syncs the gfxcard can do
297 BOOL SupportsHWCursor # [..G] SupportsHWCursor (obsolete)
298 BOOL NoFrameBuffer # [..G] if the hidd does not need a framebuffer
299 UBYTE HWSpriteTypes # [..G] Supported types of hardware sprites
300 ULONG MemorySize # [..G] Size of video card's memory in bytes
301 ULONG MemoryClock # [..G] A video card's memory clock in Hz
302 STRPTR DriverName # [..G] A name of driver for CyberGraphX
303 APTR ActiveCallBack # [.S.] Display activation callback function
304 APTR ActiveCallBackData # [.S.] User data for activation callback
305 OOP_Object * DefaultGC # [..G] Default GC for copy operations
306 UBYTE FrameBufferType # [I.G] Framebuffer type
307 BOOL SupportsGamma # [..G] Supports gamma correction table
311 VOID NominalDimensions(UWORD *width, UWORD *height, UBYTE *depth);
312 OOP_Object * CreateObject(OOP_Class *cl, struct TagItem *attrList)
313 HIDDT_ModeID * QueryModeIDs(struct TagItem *queryTags)
314 VOID ReleaseModeIDs(HIDDT_ModeID *modeIDs)
315 HIDDT_ModeID NextModeID(HIDDT_ModeID modeID, OOP_Object **syncPtr, OOP_Object **pixFmtPtr)
316 BOOL GetMode(HIDDT_ModeID modeID, OOP_Object **syncPtr, OOP_Object **pixFmtPtr)
317 BOOL CheckMode(HIDDT_ModeID modeID, OOP_Object *sync, OOP_Object *pixFmt)
318 OOP_Object * GetPixFmt(HIDDT_StdPixFmt stdPixFmt)
319 BOOL SetCursorShape(OOP_Object *shape, WORD xoffset, WORD yoffset)
320 BOOL SetCursorPos(WORD x, WORD y)
321 VOID SetCursorVisible(BOOL visible)
322 BOOL SetMode(OOP_Object *sync)
323 OOP_Object *Show(OOP_Object *bitMap, ULONG flags)
324 VOID CopyBox(OOP_Object *src, WORD srcX, WORD srcY, OOP_Object *dest, WORD destX, WORD destY, UWORD width, UWORD height, OOP_Object *gc)
325 VOID ShowImminentReset() # Obsolete
326 ULONG ModeProperties(HIDDT_ModeID modeID, struct HIDD_ModeProperties *props, ULONG propsLen)
327 ULONG ShowViewPorts(struct HIDD_ViewPortData *Data)
328 OOP_Object *GetSync(ULONG num)
329 BOOL GetGamma(UBYTE *Red, UBYTE *Green, UBYTE *Blue)
330 BOOL SetGamma(UBYTE *Red, UBYTE *Green, UBYTE *Blue)
331 BOOL QueryHardware3D(OOP_Object *pixFmt)
332 BOOL GetMaxSpriteSize(ULONG Type, ULONG *Width, ULONG *Height)
333 OOP_Object * NewOverlay(struct TagItem *attrList)
334 void DisposeOverlay(OOP_Object *Overlay)
335 ULONG MakeViewPort(struct HIDD_ViewPortData *Data)
336 void CleanViewPort(struct HIDD_ViewPortData *Data)
337 ULONG PrepareViewPorts(struct HIDD_ViewPortData *Data, struct View *view)
338 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)
344 interfaceid graphics.hidd.bitmap
345 interfacename Hidd_BitMap
347 methodbase HiddBitMapBase
348 attributebase HiddBitMapAttrBase
351 ##begin attributelist
352 UWORD Width # [ISG] Bitmap width
353 UWORD Height # [ISG] Bitmap height
354 BOOL Displayable # [I.G] Bitmap is displayable (default: FALSE)
355 BOOL Visible # [..G] Check if a bitmap is visible
356 BOOL IsLinearMem # [..G] Is the bitmap memory contiguous
357 ULONG BytesPerRow # [..G] Number of bytes in a row
358 OOP_Object *ColorMap # [..G] Colormap of the bitmap
359 struct BitMap *BMStruct # [I.G] BitMap object's associated struct BitMap
360 OOP_Object *Friend # [I.G] Friend bitmap.
361 OOP_Object *GfxHidd # [..G] Pointer to the gfxhidd object this bitmap was created with
362 HIDDT_StdPixFmt StdPixFmt # [I..] What stdpixel format the bitmap should have.
363 OOP_Object * PixFmt # [..G] This is complete pixfmt of a bitmap
364 HIDDT_ModeID ModeID # [I.G] Must be passed on initialization of aHidd_BitMap_Displayable=TRUE bitmaps.
365 OOP_Class *ClassPtr # [I..] Only used by subclasses of the gfx
366 CONST_STRPTR ClassID # [I..] Only used by subclasses of the gfx
367 .skip 1 # APTR PixFmtTags
368 BOOL FrameBuffer # [I..] Allocate framebuffer
369 WORD LeftEdge # [.SG] Left edge position of the bitmap
370 WORD TopEdge # [.SG] Top edge position of the bitmap
371 UWORD Align # [I..] Number of pixels to align bitmap data width to
372 UWORD Depth # [..G] Bitmap depth
373 BOOL ModeChange # [I..] Supports mode ID change
374 BOOL Compositable # [ISG] Can be Displayed via Compositor (Mutually exclusive with Displayable)
378 BOOL SetColors(HIDDT_Color *colors, UWORD firstColor, UWORD numColors)
379 VOID PutPixel(WORD x, WORD y, HIDDT_Pixel pixel)
380 VOID DrawPixel(OOP_Object *gc, WORD x, WORD y)
381 VOID PutImage(OOP_Object *gc, UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_StdPixFmt pixFmt)
382 VOID PutAlphaImage(OOP_Object *gc, UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height)
383 VOID PutTemplate(OOP_Object *gc, UBYTE *masktemplate, ULONG modulo, WORD srcx, WORD x, WORD y, WORD width, WORD height, BOOL inverttemplate)
384 VOID PutAlphaTemplate(OOP_Object *gc, UBYTE *alpha, ULONG modulo, WORD x, WORD y, WORD width, WORD height, BOOL invertalpha)
385 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)
386 VOID GetImage(UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_StdPixFmt pixFmt)
387 HIDDT_Pixel GetPixel(WORD x, WORD y)
388 VOID DrawLine(OOP_Object *gc, WORD x1, WORD y1, WORD x2, WORD y2)
389 VOID DrawRect(OOP_Object *gc, WORD minX, WORD minY, WORD maxX, WORD maxY)
390 VOID FillRect(OOP_Object *gc, WORD minX, WORD minY, WORD maxX, WORD maxY)
391 VOID DrawEllipse(OOP_Object *gc, WORD x, WORD y, WORD rx, WORD ry)
392 VOID FillEllipse(OOP_Object *gc, WORD x, WORD y, WORD ry, WORD rx)
393 VOID DrawPolygon(OOP_Object *gc, UWORD n, WORD *coords)
394 VOID FillPolygon(OOP_Object *gc, UWORD n, WORD *coords)
395 VOID DrawText(OOP_Object *gc, WORD x, WORD y, STRPTR text, UWORD length)
396 VOID FillText(OOP_Object *gc, WORD x, WORD y, STRPTR text, UWORD length)
397 VOID FillSpan() # Obsolete
398 VOID Clear(OOP_Object *gc)
399 VOID BlitColorExpansion(OOP_Object *gc, OOP_Object *srcBitMap, WORD srcX, WORD srcY, WORD destX, WORD destY, UWORD width, UWORD height)
400 HIDDT_Pixel MapColor(HIDDT_Color *color)
401 VOID UnmapPixel(HIDDT_Pixel pixel, HIDDT_Color *color)
402 VOID PutImageLUT(OOP_Object *gc, UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_PixelLUT *pixlut)
403 VOID PutTranspImageLUT(OOP_Object *gc, UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_PixelLUT *pixlut, UBYTE transparent)
404 VOID GetImageLUT(UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_PixelLUT *pixlut)
405 ULONG BytesPerLine(HIDDT_StdPixFmt pixFmt, UWORD width)
406 VOID ConvertPixels(APTR *srcPixels, HIDDT_PixelFormat *srcPixFmt, ULONG srcMod, APTR *dstBuf, HIDDT_PixelFormat *dstPixFmt, ULONG dstMod, UWORD width, UWORD height, HIDDT_PixelLUT *pixlut)
407 VOID FillMemRect8(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod, UBYTE fill)
408 VOID FillMemRect16(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod, UWORD fill)
409 VOID FillMemRect24(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod, ULONG fill)
410 VOID FillMemRect32(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod, ULONG fill)
411 VOID InvertMemRect(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod)
412 VOID CopyMemBox8(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
413 VOID CopyMemBox16(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
414 VOID CopyMemBox24(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
415 VOID CopyMemBox32(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
416 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)
417 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)
418 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)
419 VOID PutMem32Image8(APTR src, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
420 VOID PutMem32Image16(APTR src, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
421 VOID PutMem32Image24(APTR src, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
422 VOID GetMem32Image8(APTR src, WORD srcX, WORD srcY, APTR dst, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
423 VOID GetMem32Image16(APTR src, WORD srcX, WORD srcY, APTR dst, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
424 VOID GetMem32Image24(APTR src, WORD srcX, WORD srcY, APTR dst, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
425 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)
426 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)
427 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)
428 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)
429 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)
430 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)
431 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)
432 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)
433 OOP_Object * SetColorMap(OOP_Object *colorMap)
434 BOOL ObtainDirectAccess(UBYTE **addressReturn, ULONG *widthReturn, ULONG *heightReturn, ULONG *bankSizeReturn, ULONG *memSizeReturn)
435 VOID ReleaseDirectAccess()
436 VOID BitMapScale(OOP_Object *src, OOP_Object *dst, struct BitScaleArgs * bsa, OOP_Object *gc)
437 VOID PrivateSet() # Obsolete
438 HIDDT_RGBConversionFunction SetRGBConversionFunction(HIDDT_StdPixFmt srcPixFmt, HIDDT_StdPixFmt dstPixFmt, HIDDT_RGBConversionFunction function)
439 VOID UpdateRect(WORD x, WORD y, WORD width, WORD height)
445 interfaceid hidd.gfx.gc
446 interfacename Hidd_GC
448 methodbase HiddGCBase
449 attributebase HiddGCAttrBase
452 ##begin attributelist
453 .skip 1 # [...] IPTR Reserved0
454 .skip 1 # [...] IPTR Reserved1
455 Foreground Foreground # [.SG] Foreground color
456 Background Background # [.SG] Background color
457 Draw DrawMode # [.SG] Draw mode
458 .skip 1 # [...] IPTR Reserved2
459 ULONG ColorMask # [.SG] Prevents some color bits from changing
460 Pattern LinePattern # [.SG] Pattern for line drawing
461 Pattern LinePatternCnt # [.SG] Pattern start bit for line drawing
462 .skip 1 # [...] IPTR Reserved3
463 Mode ColorExpansionMode # [.SG] Mode for color expansion
467 VOID SetClipRect(WORD x1, WORD y1, WORD x2, WORD y2)
475 interfaceid hidd.gfx.pixfmt
476 interfacename Hidd_PixFmt
477 methodstub HIDD_PixFmt
478 methodbase HiddPixFmtBase
479 attributebase HiddPixFmtAttrBase
482 ##begin attributelist
483 HIDDT_ColorModel ColorModel
495 HIDDT_StdPixFmt StdPixFmt
498 HIDDT_BitMapType BitMapType
506 interfaceid hidd.gfx.bitmap.planarbm
507 interfacename Hidd_PlanarBM
508 methodstub HIDD_PlanarBM
509 methodbase HiddPlanarBMBase
510 attributebase HiddPlanarBMAttrBase
513 ##begin attributelist
515 struct BitMap *BitMap
519 BOOL SetBitMap(struct BitMap *bitMap)
520 BOOL GetBitMap(struct BitMap *bitMap)
526 interfaceid hidd.gfx.bitmap.chunkybm
527 interfacename Hidd_ChunkyBM
528 methodstub HIDD_ChunkyBM
529 methodbase HiddChunkyBMBase
530 attributebase HiddChunkyBMAttrBase
533 ##begin attributelist
540 interfaceid hidd.graphics.colormap
541 interfacename Hidd_ColorMap
543 methodbase HiddColorMapBase
544 attributebase HiddColorMapAttrBase
547 ##begin attributelist
548 ULONG NumEntries # [I.G] Number of colors in the colormap
552 BOOL SetColors(HIDDT_Color *colors, UWORD firstColor, UWORD numColors, OOP_Object *pixFmt)
553 HIDDT_Pixel GetPixel(ULONG pixelNo)
554 BOOL GetColor(ULONG colorNo, HIDDT_Color *colorReturn)
560 interfaceid hidd.gfx.sync
561 interfacename Hidd_Sync
563 methodbase HiddSyncBase
564 attributebase HiddSyncAttrBase
567 ##begin attributelist
568 ULONG PixelTime # [ISG] (obsolete) pixel clock in picoseconds (1E-12 second)
569 ULONG LeftMargin # [ISG] (obsolete)
570 ULONG RightMargin # [ISG] (obsolete)
571 ULONG HSyncLength # [ISG] (obsolete)
572 ULONG UpperMargin # [ISG] (obsolete)
573 ULONG LowerMargin # [ISG] (obsolete)
574 ULONG VSyncLength # [ISG] (obsolete)
575 ULONG PixelClock # [ISG] Pixel clock in Hz
576 ULONG HDisp # [I.G] displayed pixels per line
577 ULONG HSyncStart # [ISG] time to the start of the horizontal sync
578 ULONG HSyncEnd # [ISG] time to the end of the horizontal sync
579 ULONG HTotal # [ISG] total time to draw one line + the hsync time
580 ULONG VDisp # [I.G] displayed rows
581 ULONG VSyncStart # [ISG] rows to the start of the horizontal sync
582 ULONG VSyncEnd # [ISG] rows to the end of the horizontal sync
583 ULONG VTotal # [ISG] number of rows in the screen includeing vsync
584 STRPTR Description # [I.G] description
585 ULONG HMin # [ISG] minimum acceptable bitmap width
586 ULONG HMax # [ISG] maximum acceptable bitmap width
587 ULONG VMin # [ISG] minimum acceptable bitmap height
588 ULONG VMax # [ISG] maximum acceptable bitmap height
589 ULONG Flags # [I.G] mode tags
590 BOOL Variable # [I.G] data can be modified
591 struct MonitorSpec *MonitorSpec # [I.G] MonitorSpec structure
592 OOP_Object GfxHidd # [I.G] Driver to which the object belongs
593 ULONG BoardNumber # [I..] Number of board (for '%b' in description)
599 interfaceid hidd.graphics.overlay
600 interfacename Hidd_Overlay
603 ##begin attributelist
604 ULONG SrcWidth # [I..] Source width in pixels
605 ULONG SrcHeight # [I..] Source height in pixels
606 ULONG SrcFormat # [I..] Source pixel format
607 ULONG *Error # [I..] Points to location where error code will be placed