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 struct TagItem *MemoryAttribs #[..G] query information about the gfx devices memory.
292 struct List *DisplayList # [..G] Returns a list of Display objects (if supported)
293 OOP_Object *DisplayDefault # [..G] Find the primary Display. If DisplayList == NULL, DisplayDefault = the only available display.
294 BOOL IsWindowed # [..G] Whether the HIDD is using host's window system
295 ULONG DPMSLevel # [ISG] DPMS level
296 struct TagItem * PixFmtTags # [I..]
297 struct TagItem * SyncTags # [I..]
298 struct TagItem * ModeTags # [I..] Display modes description
299 ULONG NumSyncs # [..G] The number of different syncs the gfxcard can do
300 BOOL SupportsHWCursor # [..G] SupportsHWCursor (obsolete)
301 BOOL NoFrameBuffer # [..G] if the hidd does not need a framebuffer
302 UBYTE HWSpriteTypes # [..G] Supported types of hardware sprites
303 ULONG MemorySize # [..G] Size of video card's memory in bytes
304 ULONG MemoryClock # [..G] A video card's memory clock in Hz
305 STRPTR DriverName # [..G] A name of driver for CyberGraphX
306 APTR ActiveCallBack # [.S.] Display activation callback function
307 APTR ActiveCallBackData # [.S.] User data for activation callback
308 OOP_Object * DefaultGC # [..G] Default GC for copy operations
309 UBYTE FrameBufferType # [I.G] Framebuffer type
310 BOOL SupportsGamma # [..G] Supports gamma correction table
314 VOID NominalDimensions(UWORD *width, UWORD *height, UBYTE *depth);
315 OOP_Object * CreateObject(OOP_Class *cl, struct TagItem *attrList)
316 HIDDT_ModeID * QueryModeIDs(struct TagItem *queryTags)
317 VOID ReleaseModeIDs(HIDDT_ModeID *modeIDs)
318 HIDDT_ModeID NextModeID(HIDDT_ModeID modeID, OOP_Object **syncPtr, OOP_Object **pixFmtPtr)
319 BOOL GetMode(HIDDT_ModeID modeID, OOP_Object **syncPtr, OOP_Object **pixFmtPtr)
320 BOOL CheckMode(HIDDT_ModeID modeID, OOP_Object *sync, OOP_Object *pixFmt)
321 OOP_Object * GetPixFmt(HIDDT_StdPixFmt stdPixFmt)
322 BOOL SetCursorShape(OOP_Object *shape, WORD xoffset, WORD yoffset)
323 BOOL SetCursorPos(WORD x, WORD y)
324 VOID SetCursorVisible(BOOL visible)
325 BOOL SetMode(OOP_Object *sync)
326 OOP_Object *Show(OOP_Object *bitMap, ULONG flags)
327 VOID CopyBox(OOP_Object *src, WORD srcX, WORD srcY, OOP_Object *dest, WORD destX, WORD destY, UWORD width, UWORD height, OOP_Object *gc)
328 VOID ShowImminentReset() # Obsolete
329 ULONG ModeProperties(HIDDT_ModeID modeID, struct HIDD_ModeProperties *props, ULONG propsLen)
330 ULONG ShowViewPorts(struct HIDD_ViewPortData *Data)
331 OOP_Object *GetSync(ULONG num)
332 BOOL GetGamma(UBYTE *Red, UBYTE *Green, UBYTE *Blue)
333 BOOL SetGamma(UBYTE *Red, UBYTE *Green, UBYTE *Blue)
334 BOOL QueryHardware3D(OOP_Object *pixFmt)
335 BOOL GetMaxSpriteSize(ULONG Type, ULONG *Width, ULONG *Height)
336 OOP_Object * NewOverlay(struct TagItem *attrList)
337 void DisposeOverlay(OOP_Object *Overlay)
338 ULONG MakeViewPort(struct HIDD_ViewPortData *Data)
339 void CleanViewPort(struct HIDD_ViewPortData *Data)
340 ULONG PrepareViewPorts(struct HIDD_ViewPortData *Data, struct View *view)
341 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)
347 interfaceid graphics.hidd.bitmap
348 interfacename Hidd_BitMap
350 methodbase HiddBitMapBase
351 attributebase HiddBitMapAttrBase
354 ##begin attributelist
355 UWORD Width # [ISG] Bitmap width
356 UWORD Height # [ISG] Bitmap height
357 BOOL Displayable # [I.G] Bitmap is displayable (default: FALSE)
358 BOOL Visible # [..G] Check if a bitmap is visible
359 BOOL IsLinearMem # [..G] Is the bitmap memory contiguous
360 ULONG BytesPerRow # [..G] Number of bytes in a row
361 OOP_Object *ColorMap # [..G] Colormap of the bitmap
362 struct BitMap *BMStruct # [I.G] BitMap object's associated struct BitMap
363 OOP_Object *Friend # [I.G] Friend bitmap.
364 OOP_Object *GfxHidd # [..G] Pointer to the gfxhidd object this bitmap was created with
365 HIDDT_StdPixFmt StdPixFmt # [I..] What stdpixel format the bitmap should have.
366 OOP_Object * PixFmt # [..G] This is complete pixfmt of a bitmap
367 HIDDT_ModeID ModeID # [I.G] Must be passed on initialization of aHidd_BitMap_Displayable=TRUE bitmaps.
368 OOP_Class *ClassPtr # [I..] Only used by subclasses of the gfx
369 CONST_STRPTR ClassID # [I..] Only used by subclasses of the gfx
370 .skip 1 # APTR PixFmtTags
371 BOOL FrameBuffer # [I..] Allocate framebuffer
372 WORD LeftEdge # [.SG] Left edge position of the bitmap
373 WORD TopEdge # [.SG] Top edge position of the bitmap
374 UWORD Align # [I..] Number of pixels to align bitmap data width to
375 UWORD Depth # [..G] Bitmap depth
376 BOOL ModeChange # [I..] Supports mode ID change
377 BOOL Compositable # [ISG] Can be Displayed via Compositor (Mutually exclusive with Displayable)
381 BOOL SetColors(HIDDT_Color *colors, UWORD firstColor, UWORD numColors)
382 VOID PutPixel(WORD x, WORD y, HIDDT_Pixel pixel)
383 VOID DrawPixel(OOP_Object *gc, WORD x, WORD y)
384 VOID PutImage(OOP_Object *gc, UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_StdPixFmt pixFmt)
385 VOID PutAlphaImage(OOP_Object *gc, UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height)
386 VOID PutTemplate(OOP_Object *gc, UBYTE *masktemplate, ULONG modulo, WORD srcx, WORD x, WORD y, WORD width, WORD height, BOOL inverttemplate)
387 VOID PutAlphaTemplate(OOP_Object *gc, UBYTE *alpha, ULONG modulo, WORD x, WORD y, WORD width, WORD height, BOOL invertalpha)
388 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)
389 VOID GetImage(UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_StdPixFmt pixFmt)
390 HIDDT_Pixel GetPixel(WORD x, WORD y)
391 VOID DrawLine(OOP_Object *gc, WORD x1, WORD y1, WORD x2, WORD y2)
392 VOID DrawRect(OOP_Object *gc, WORD minX, WORD minY, WORD maxX, WORD maxY)
393 VOID FillRect(OOP_Object *gc, WORD minX, WORD minY, WORD maxX, WORD maxY)
394 VOID DrawEllipse(OOP_Object *gc, WORD x, WORD y, WORD rx, WORD ry)
395 VOID FillEllipse(OOP_Object *gc, WORD x, WORD y, WORD ry, WORD rx)
396 VOID DrawPolygon(OOP_Object *gc, UWORD n, WORD *coords)
397 VOID FillPolygon(OOP_Object *gc, UWORD n, WORD *coords)
398 VOID DrawText(OOP_Object *gc, WORD x, WORD y, STRPTR text, UWORD length)
399 VOID FillText(OOP_Object *gc, WORD x, WORD y, STRPTR text, UWORD length)
400 VOID FillSpan() # Obsolete
401 VOID Clear(OOP_Object *gc)
402 VOID BlitColorExpansion(OOP_Object *gc, OOP_Object *srcBitMap, WORD srcX, WORD srcY, WORD destX, WORD destY, UWORD width, UWORD height)
403 HIDDT_Pixel MapColor(HIDDT_Color *color)
404 VOID UnmapPixel(HIDDT_Pixel pixel, HIDDT_Color *color)
405 VOID PutImageLUT(OOP_Object *gc, UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_PixelLUT *pixlut)
406 VOID PutTranspImageLUT(OOP_Object *gc, UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_PixelLUT *pixlut, UBYTE transparent)
407 VOID GetImageLUT(UBYTE *pixels, ULONG modulo, WORD x, WORD y, WORD width, WORD height, HIDDT_PixelLUT *pixlut)
408 ULONG BytesPerLine(HIDDT_StdPixFmt pixFmt, UWORD width)
409 VOID ConvertPixels(APTR *srcPixels, HIDDT_PixelFormat *srcPixFmt, ULONG srcMod, APTR *dstBuf, HIDDT_PixelFormat *dstPixFmt, ULONG dstMod, UWORD width, UWORD height, HIDDT_PixelLUT *pixlut)
410 VOID FillMemRect8(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod, UBYTE fill)
411 VOID FillMemRect16(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod, UWORD fill)
412 VOID FillMemRect24(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod, ULONG fill)
413 VOID FillMemRect32(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod, ULONG fill)
414 VOID InvertMemRect(APTR dstBuf, WORD minX, WORD minY, WORD maxX, WORD maxY, ULONG dstMod)
415 VOID CopyMemBox8(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
416 VOID CopyMemBox16(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
417 VOID CopyMemBox24(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
418 VOID CopyMemBox32(APTR src, WORD srcX, WORD srcY, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
419 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)
420 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)
421 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)
422 VOID PutMem32Image8(APTR src, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
423 VOID PutMem32Image16(APTR src, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
424 VOID PutMem32Image24(APTR src, APTR dst, WORD dstX, WORD dstY, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
425 VOID GetMem32Image8(APTR src, WORD srcX, WORD srcY, APTR dst, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
426 VOID GetMem32Image16(APTR src, WORD srcX, WORD srcY, APTR dst, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
427 VOID GetMem32Image24(APTR src, WORD srcX, WORD srcY, APTR dst, UWORD width, UWORD height, ULONG srcMod, ULONG dstMod)
428 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)
429 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)
430 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)
431 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)
432 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)
433 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)
434 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)
435 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)
436 OOP_Object * SetColorMap(OOP_Object *colorMap)
437 BOOL ObtainDirectAccess(UBYTE **addressReturn, ULONG *widthReturn, ULONG *heightReturn, ULONG *bankSizeReturn, ULONG *memSizeReturn)
438 VOID ReleaseDirectAccess()
439 VOID BitMapScale(OOP_Object *src, OOP_Object *dst, struct BitScaleArgs * bsa, OOP_Object *gc)
440 VOID PrivateSet() # Obsolete
441 HIDDT_RGBConversionFunction SetRGBConversionFunction(HIDDT_StdPixFmt srcPixFmt, HIDDT_StdPixFmt dstPixFmt, HIDDT_RGBConversionFunction function)
442 VOID UpdateRect(WORD x, WORD y, WORD width, WORD height)
448 interfaceid hidd.gfx.gc
449 interfacename Hidd_GC
451 methodbase HiddGCBase
452 attributebase HiddGCAttrBase
455 ##begin attributelist
456 .skip 1 # [...] IPTR Reserved0
457 .skip 1 # [...] IPTR Reserved1
458 Foreground Foreground # [.SG] Foreground color
459 Background Background # [.SG] Background color
460 Draw DrawMode # [.SG] Draw mode
461 .skip 1 # [...] IPTR Reserved2
462 ULONG ColorMask # [.SG] Prevents some color bits from changing
463 Pattern LinePattern # [.SG] Pattern for line drawing
464 Pattern LinePatternCnt # [.SG] Pattern start bit for line drawing
465 .skip 1 # [...] IPTR Reserved3
466 Mode ColorExpansionMode # [.SG] Mode for color expansion
470 VOID SetClipRect(WORD x1, WORD y1, WORD x2, WORD y2)
478 interfaceid hidd.gfx.pixfmt
479 interfacename Hidd_PixFmt
480 methodstub HIDD_PixFmt
481 methodbase HiddPixFmtBase
482 attributebase HiddPixFmtAttrBase
485 ##begin attributelist
486 HIDDT_ColorModel ColorModel
498 HIDDT_StdPixFmt StdPixFmt
501 HIDDT_BitMapType BitMapType
509 interfaceid hidd.gfx.bitmap.planarbm
510 interfacename Hidd_PlanarBM
511 methodstub HIDD_PlanarBM
512 methodbase HiddPlanarBMBase
513 attributebase HiddPlanarBMAttrBase
516 ##begin attributelist
518 struct BitMap *BitMap
522 BOOL SetBitMap(struct BitMap *bitMap)
523 BOOL GetBitMap(struct BitMap *bitMap)
529 interfaceid hidd.gfx.bitmap.chunkybm
530 interfacename Hidd_ChunkyBM
531 methodstub HIDD_ChunkyBM
532 methodbase HiddChunkyBMBase
533 attributebase HiddChunkyBMAttrBase
536 ##begin attributelist
543 interfaceid hidd.graphics.colormap
544 interfacename Hidd_ColorMap
546 methodbase HiddColorMapBase
547 attributebase HiddColorMapAttrBase
550 ##begin attributelist
551 ULONG NumEntries # [I.G] Number of colors in the colormap
555 BOOL SetColors(HIDDT_Color *colors, UWORD firstColor, UWORD numColors, OOP_Object *pixFmt)
556 HIDDT_Pixel GetPixel(ULONG pixelNo)
557 BOOL GetColor(ULONG colorNo, HIDDT_Color *colorReturn)
563 interfaceid hidd.gfx.sync
564 interfacename Hidd_Sync
566 methodbase HiddSyncBase
567 attributebase HiddSyncAttrBase
570 ##begin attributelist
571 ULONG PixelTime # [ISG] (obsolete) pixel clock in picoseconds (1E-12 second)
572 ULONG LeftMargin # [ISG] (obsolete)
573 ULONG RightMargin # [ISG] (obsolete)
574 ULONG HSyncLength # [ISG] (obsolete)
575 ULONG UpperMargin # [ISG] (obsolete)
576 ULONG LowerMargin # [ISG] (obsolete)
577 ULONG VSyncLength # [ISG] (obsolete)
578 ULONG PixelClock # [ISG] Pixel clock in Hz
579 ULONG HDisp # [I.G] displayed pixels per line
580 ULONG HSyncStart # [ISG] time to the start of the horizontal sync
581 ULONG HSyncEnd # [ISG] time to the end of the horizontal sync
582 ULONG HTotal # [ISG] total time to draw one line + the hsync time
583 ULONG VDisp # [I.G] displayed rows
584 ULONG VSyncStart # [ISG] rows to the start of the horizontal sync
585 ULONG VSyncEnd # [ISG] rows to the end of the horizontal sync
586 ULONG VTotal # [ISG] number of rows in the screen includeing vsync
587 STRPTR Description # [I.G] description
588 ULONG HMin # [ISG] minimum acceptable bitmap width
589 ULONG HMax # [ISG] maximum acceptable bitmap width
590 ULONG VMin # [ISG] minimum acceptable bitmap height
591 ULONG VMax # [ISG] maximum acceptable bitmap height
592 ULONG Flags # [I.G] mode tags
593 BOOL Variable # [I.G] data can be modified
594 struct MonitorSpec *MonitorSpec # [I.G] MonitorSpec structure
595 OOP_Object GfxHidd # [I.G] Driver to which the object belongs
596 ULONG BoardNumber # [I..] Number of board (for '%b' in description)
602 interfaceid hidd.graphics.overlay
603 interfacename Hidd_Overlay
606 ##begin attributelist
607 ULONG SrcWidth # [I..] Source width in pixels
608 ULONG SrcHeight # [I..] Source height in pixels
609 ULONG SrcFormat # [I..] Source pixel format
610 ULONG *Error # [I..] Points to location where error code will be placed