outline the architecture of the mac port, starting with quickdraw

git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@151 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
IoIxD
2025-10-04 06:48:48 +00:00
parent e92c02b73d
commit dc9840ac70
6 changed files with 2388 additions and 1 deletions

335
src/backend/mac/quickDraw.h Normal file
View File

@@ -0,0 +1,335 @@
#ifndef __QUICKDRAW_H__
#define __QUICKDRAW_H__
#include "preQuartz.h"
#include "mac.h"
struct mac_backend_userdata_t {
PFN_GetPortCustomXFerProc GetPortCustomXFerProc;
PFN_SetPortCustomXFerProc SetPortCustomXFerProc;
PFN_OpenCursorComponent OpenCursorComponent;
PFN_CloseCursorComponent CloseCursorComponent;
PFN_SetCursorComponent SetCursorComponent;
PFN_CursorComponentChanged CursorComponentChanged;
PFN_CursorComponentSetData CursorComponentSetData;
PFN_IsValidPort IsValidPort;
PFN_GetPortPixMap GetPortPixMap;
PFN_GetPortBitMapForCopyBits GetPortBitMapForCopyBits;
PFN_GetPortBounds GetPortBounds;
PFN_GetPortForeColor GetPortForeColor;
PFN_GetPortBackColor GetPortBackColor;
PFN_GetPortOpColor GetPortOpColor;
PFN_GetPortHiliteColor GetPortHiliteColor;
PFN_GetPortGrafProcs GetPortGrafProcs;
PFN_GetPortTextFont GetPortTextFont;
PFN_GetPortTextFace GetPortTextFace;
PFN_GetPortTextMode GetPortTextMode;
PFN_GetPortTextSize GetPortTextSize;
PFN_GetPortChExtra GetPortChExtra;
PFN_GetPortFracHPenLocation GetPortFracHPenLocation;
PFN_GetPortSpExtra GetPortSpExtra;
PFN_GetPortPenVisibility GetPortPenVisibility;
PFN_GetPortVisibleRegion GetPortVisibleRegion;
PFN_GetPortClipRegion GetPortClipRegion;
PFN_GetPortBackPixPat GetPortBackPixPat;
PFN_GetPortPenPixPat GetPortPenPixPat;
PFN_GetPortFillPixPat GetPortFillPixPat;
PFN_GetPortPenSize GetPortPenSize;
PFN_GetPortPenMode GetPortPenMode;
PFN_GetPortPenLocation GetPortPenLocation;
PFN_IsPortRegionBeingDefined IsPortRegionBeingDefined;
PFN_IsPortPictureBeingDefined IsPortPictureBeingDefined;
PFN_IsPortPolyBeingDefined IsPortPolyBeingDefined;
PFN_IsPortOffscreen IsPortOffscreen;
PFN_IsPortColor IsPortColor;
PFN_SetPortBounds SetPortBounds;
PFN_SetPortOpColor SetPortOpColor;
PFN_SetPortGrafProcs SetPortGrafProcs;
PFN_SetPortVisibleRegion SetPortVisibleRegion;
PFN_SetPortClipRegion SetPortClipRegion;
PFN_SetPortPenPixPat SetPortPenPixPat;
PFN_SetPortFillPixPat SetPortFillPixPat;
PFN_SetPortBackPixPat SetPortBackPixPat;
PFN_SetPortPenSize SetPortPenSize;
PFN_SetPortPenMode SetPortPenMode;
PFN_SetPortFracHPenLocation SetPortFracHPenLocation;
PFN_GetPixBounds GetPixBounds;
PFN_GetPixDepth GetPixDepth;
PFN_GetQDGlobalsRandomSeed GetQDGlobalsRandomSeed;
PFN_GetQDGlobalsScreenBits GetQDGlobalsScreenBits;
PFN_GetQDGlobalsArrow GetQDGlobalsArrow;
PFN_GetQDGlobalsDarkGray GetQDGlobalsDarkGray;
PFN_GetQDGlobalsLightGray GetQDGlobalsLightGray;
PFN_GetQDGlobalsGray GetQDGlobalsGray;
PFN_GetQDGlobalsBlack GetQDGlobalsBlack;
PFN_GetQDGlobalsWhite GetQDGlobalsWhite;
PFN_GetQDGlobalsThePort GetQDGlobalsThePort;
PFN_SetQDGlobalsRandomSeed SetQDGlobalsRandomSeed;
PFN_SetQDGlobalsArrow SetQDGlobalsArrow;
PFN_GetRegionBounds GetRegionBounds;
PFN_IsRegionRectangular IsRegionRectangular;
PFN_CreateNewPort CreateNewPort;
PFN_DisposePort DisposePort;
PFN_SetQDError SetQDError;
PFN_QDIsPortBuffered QDIsPortBuffered;
PFN_QDIsPortBufferDirty QDIsPortBufferDirty;
PFN_QDFlushPortBuffer QDFlushPortBuffer;
PFN_QDGetDirtyRegion QDGetDirtyRegion;
PFN_QDSetDirtyRegion QDSetDirtyRegion;
PFN_CreateCGContextForPort CreateCGContextForPort;
PFN_ClipCGContextToRegion ClipCGContextToRegion;
PFN_SyncCGContextOriginWithPort SyncCGContextOriginWithPort;
PFN_CreateNewPortForCGDisplayID CreateNewPortForCGDisplayID;
PFN_QDDisplayWaitCursor QDDisplayWaitCursor;
PFN_QDSetPatternOrigin QDSetPatternOrigin;
PFN_QDGetPatternOrigin QDGetPatternOrigin;
PFN_LMGetScrVRes LMGetScrVRes;
PFN_LMSetScrVRes LMSetScrVRes;
PFN_LMGetScrHRes LMGetScrHRes;
PFN_LMSetScrHRes LMSetScrHRes;
PFN_LMGetMainDevice LMGetMainDevice;
PFN_LMSetMainDevice LMSetMainDevice;
PFN_LMGetDeviceList LMGetDeviceList;
PFN_LMSetDeviceList LMSetDeviceList;
PFN_LMGetQDColors LMGetQDColors;
PFN_LMSetQDColors LMSetQDColors;
PFN_LMGetWidthListHand LMGetWidthListHand;
PFN_LMSetWidthListHand LMSetWidthListHand;
PFN_LMGetHiliteMode LMGetHiliteMode;
PFN_LMSetHiliteMode LMSetHiliteMode;
PFN_LMGetWidthPtr LMGetWidthPtr;
PFN_LMSetWidthPtr LMSetWidthPtr;
PFN_LMGetWidthTabHandle LMGetWidthTabHandle;
PFN_LMSetWidthTabHandle LMSetWidthTabHandle;
PFN_LMGetLastSPExtra LMGetLastSPExtra;
PFN_LMSetLastSPExtra LMSetLastSPExtra;
PFN_LMGetLastFOND LMGetLastFOND;
PFN_LMSetLastFOND LMSetLastFOND;
PFN_LMGetFractEnable LMGetFractEnable;
PFN_LMSetFractEnable LMSetFractEnable;
PFN_LMGetTheGDevice LMGetTheGDevice;
PFN_LMSetTheGDevice LMSetTheGDevice;
PFN_LMGetHiliteRGB LMGetHiliteRGB;
PFN_LMSetHiliteRGB LMSetHiliteRGB;
PFN_LMGetCursorNew LMGetCursorNew;
PFN_LMSetCursorNew LMSetCursorNew;
PFN_QDRegionToRects QDRegionToRects;
PFN_SetPort SetPort;
PFN_GetPort GetPort;
PFN_GrafDevice GrafDevice;
PFN_SetPortBits SetPortBits;
PFN_PortSize PortSize;
PFN_MovePortTo MovePortTo;
PFN_SetOrigin SetOrigin;
PFN_SetClip SetClip;
PFN_GetClip GetClip;
PFN_ClipRect ClipRect;
PFN_BackPat BackPat;
PFN_InitCursor InitCursor;
PFN_SetCursor SetCursor;
PFN_HideCursor HideCursor;
PFN_ShowCursor ShowCursor;
PFN_ObscureCursor ObscureCursor;
PFN_HidePen HidePen;
PFN_ShowPen ShowPen;
PFN_GetPen GetPen;
PFN_GetPenState GetPenState;
PFN_SetPenState SetPenState;
PFN_PenSize PenSize;
PFN_PenMode PenMode;
PFN_PenPat PenPat;
PFN_PenNormal PenNormal;
PFN_MoveTo MoveTo;
PFN_Move Move;
PFN_LineTo LineTo;
PFN_Line Line;
PFN_ForeColor ForeColor;
PFN_BackColor BackColor;
PFN_ColorBit ColorBit;
PFN_SetRect SetRect;
PFN_OffsetRect OffsetRect;
PFN_InsetRect InsetRect;
PFN_SectRect SectRect;
PFN_UnionRect UnionRect;
PFN_EqualRect EqualRect;
PFN_EmptyRect EmptyRect;
PFN_FrameRect FrameRect;
PFN_PaintRect PaintRect;
PFN_EraseRect EraseRect;
PFN_InvertRect InvertRect;
PFN_FillRect FillRect;
PFN_FrameOval FrameOval;
PFN_PaintOval PaintOval;
PFN_EraseOval EraseOval;
PFN_InvertOval InvertOval;
PFN_FillOval FillOval;
PFN_FrameRoundRect FrameRoundRect;
PFN_PaintRoundRect PaintRoundRect;
PFN_EraseRoundRect EraseRoundRect;
PFN_InvertRoundRect InvertRoundRect;
PFN_FillRoundRect FillRoundRect;
PFN_FrameArc FrameArc;
PFN_PaintArc PaintArc;
PFN_EraseArc EraseArc;
PFN_InvertArc InvertArc;
PFN_FillArc FillArc;
PFN_NewRgn NewRgn;
PFN_OpenRgn OpenRgn;
PFN_CloseRgn CloseRgn;
PFN_BitMapToRegion BitMapToRegion;
PFN_HandleToRgn HandleToRgn;
PFN_RgnToHandle RgnToHandle;
PFN_DisposeRgn DisposeRgn;
PFN_CopyRgn CopyRgn;
PFN_SetEmptyRgn SetEmptyRgn;
PFN_SetRectRgn SetRectRgn;
PFN_RectRgn RectRgn;
PFN_OffsetRgn OffsetRgn;
PFN_InsetRgn InsetRgn;
PFN_SectRgn SectRgn;
PFN_UnionRgn UnionRgn;
PFN_DiffRgn DiffRgn;
PFN_XorRgn XorRgn;
PFN_RectInRgn RectInRgn;
PFN_EqualRgn EqualRgn;
PFN_EmptyRgn EmptyRgn;
PFN_FrameRgn FrameRgn;
PFN_PaintRgn PaintRgn;
PFN_EraseRgn EraseRgn;
PFN_InvertRgn InvertRgn;
PFN_FillRgn FillRgn;
PFN_ScrollRect ScrollRect;
PFN_CopyBits CopyBits;
PFN_SeedFill SeedFill;
PFN_CalcMask CalcMask;
PFN_CopyMask CopyMask;
PFN_OpenPicture OpenPicture;
PFN_PicComment PicComment;
PFN_ClosePicture ClosePicture;
PFN_DrawPicture DrawPicture;
PFN_KillPicture KillPicture;
PFN_OpenPoly OpenPoly;
PFN_ClosePoly ClosePoly;
PFN_KillPoly KillPoly;
PFN_OffsetPoly OffsetPoly;
PFN_FramePoly FramePoly;
PFN_PaintPoly PaintPoly;
PFN_ErasePoly ErasePoly;
PFN_InvertPoly InvertPoly;
PFN_FillPoly FillPoly;
PFN_SetPt SetPt;
PFN_LocalToGlobal LocalToGlobal;
PFN_GlobalToLocal GlobalToLocal;
PFN_Random Random;
PFN_StuffHex StuffHex;
PFN_GetPixel GetPixel;
PFN_ScalePt ScalePt;
PFN_MapPt MapPt;
PFN_MapRect MapRect;
PFN_MapRgn MapRgn;
PFN_MapPoly MapPoly;
PFN_SetStdProcs SetStdProcs;
PFN_StdRect StdRect;
PFN_StdRRect StdRRect;
PFN_StdOval StdOval;
PFN_StdArc StdArc;
PFN_StdPoly StdPoly;
PFN_StdRgn StdRgn;
PFN_StdBits StdBits;
PFN_StdComment StdComment;
PFN_StdGetPic StdGetPic;
PFN_StdPutPic StdPutPic;
PFN_StdOpcode StdOpcode;
PFN_AddPt AddPt;
PFN_EqualPt EqualPt;
PFN_PtInRect PtInRect;
PFN_Pt2Rect Pt2Rect;
PFN_PtToAngle PtToAngle;
PFN_SubPt SubPt;
PFN_PtInRgn PtInRgn;
PFN_StdLine StdLine;
PFN_NewPixMap NewPixMap;
PFN_DisposePixMap DisposePixMap;
PFN_CopyPixMap CopyPixMap;
PFN_NewPixPat NewPixPat;
PFN_DisposePixPat DisposePixPat;
PFN_CopyPixPat CopyPixPat;
PFN_PenPixPat PenPixPat;
PFN_BackPixPat BackPixPat;
PFN_GetPixPat GetPixPat;
PFN_MakeRGBPat MakeRGBPat;
PFN_FillCRect FillCRect;
PFN_FillCOval FillCOval;
PFN_FillCRoundRect FillCRoundRect;
PFN_FillCArc FillCArc;
PFN_FillCRgn FillCRgn;
PFN_FillCPoly FillCPoly;
PFN_RGBForeColor RGBForeColor;
PFN_RGBBackColor RGBBackColor;
PFN_SetCPixel SetCPixel;
PFN_SetPortPix SetPortPix;
PFN_GetCPixel GetCPixel;
PFN_GetForeColor GetForeColor;
PFN_GetBackColor GetBackColor;
PFN_SeedCFill SeedCFill;
PFN_CalcCMask CalcCMask;
PFN_OpenCPicture OpenCPicture;
PFN_OpColor OpColor;
PFN_HiliteColor HiliteColor;
PFN_DisposeCTable DisposeCTable;
PFN_GetCTable GetCTable;
PFN_GetCCursor GetCCursor;
PFN_SetCCursor SetCCursor;
PFN_AllocCursor AllocCursor;
PFN_DisposeCCursor DisposeCCursor;
PFN_SetStdCProcs SetStdCProcs;
PFN_GetMaxDevice GetMaxDevice;
PFN_GetCTSeed GetCTSeed;
PFN_GetDeviceList GetDeviceList;
PFN_GetMainDevice GetMainDevice;
PFN_GetNextDevice GetNextDevice;
PFN_TestDeviceAttribute TestDeviceAttribute;
PFN_SetDeviceAttribute SetDeviceAttribute;
PFN_InitGDevice InitGDevice;
PFN_NewGDevice NewGDevice;
PFN_DisposeGDevice DisposeGDevice;
PFN_SetGDevice SetGDevice;
PFN_GetGDevice GetGDevice;
PFN_Color2Index Color2Index;
PFN_Index2Color Index2Color;
PFN_InvertColor InvertColor;
PFN_RealColor RealColor;
PFN_GetSubTable GetSubTable;
PFN_MakeITable MakeITable;
PFN_AddSearch AddSearch;
PFN_AddComp AddComp;
PFN_DelSearch DelSearch;
PFN_DelComp DelComp;
PFN_SetClientID SetClientID;
PFN_ProtectEntry ProtectEntry;
PFN_ReserveEntry ReserveEntry;
PFN_SetEntries SetEntries;
PFN_SaveEntries SaveEntries;
PFN_RestoreEntries RestoreEntries;
PFN_QDError QDError;
PFN_CopyDeepMask CopyDeepMask;
PFN_DeviceLoop DeviceLoop;
PFN_GetMaskTable GetMaskTable;
PFN_GetPattern GetPattern;
PFN_GetCursor GetCursor;
PFN_GetPicture GetPicture;
PFN_DeltaPoint DeltaPoint;
PFN_ShieldCursor ShieldCursor;
PFN_ScreenRes ScreenRes;
PFN_GetIndPattern GetIndPattern;
PFN_deltapoint deltapoint;
PFN_PackBits PackBits;
PFN_UnpackBits UnpackBits;
PFN_SlopeFromAngle SlopeFromAngle;
PFN_AngleFromSlope AngleFromSlope;
};
void quickDrawBackendUserDataInit(mac_backend_userdata);
mac_backend getQuickDrawBackend(void);
#endif