From 3228cf2818a4dfc95f91bf8b4edd9f238802bc56 Mon Sep 17 00:00:00 2001 From: Iliyas Jorio Date: Mon, 22 Feb 2021 20:19:57 +0100 Subject: [PATCH] Palette management stubs --- CMakeLists.txt | 1 + src/Graphics/ColorManager.cpp | 42 +++++++++++++++++++++++++++++++++++ src/Graphics/Graphics.cpp | 9 ++++++++ src/Pomme.h | 24 ++++++++++++++++++++ src/PommeTypes.h | 14 ++++++++++++ 5 files changed, 90 insertions(+) create mode 100644 src/Graphics/ColorManager.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e3261b..2db9926 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,7 @@ set(POMME_SOURCES ${POMME_SRCDIR}/Files/Volume.h ${POMME_SRCDIR}/Graphics/ARGBPixmap.cpp ${POMME_SRCDIR}/Graphics/Color.cpp + ${POMME_SRCDIR}/Graphics/ColorManager.cpp ${POMME_SRCDIR}/Graphics/Graphics.cpp ${POMME_SRCDIR}/Graphics/PICT.cpp ${POMME_SRCDIR}/Graphics/SysFont.h diff --git a/src/Graphics/ColorManager.cpp b/src/Graphics/ColorManager.cpp new file mode 100644 index 0000000..d7bb817 --- /dev/null +++ b/src/Graphics/ColorManager.cpp @@ -0,0 +1,42 @@ +#include "Pomme.h" + +void ProtectEntry(short index, Boolean protect) +{ + TODOMINOR(); +} + +void ReserveEntry(short index, Boolean reserve) +{ + TODOMINOR(); +} + +void SetEntries(short start, short count, CSpecArray aTable) +{ + TODOMINOR(); +} + +void GetEntryColor(PaletteHandle srcPalette, short srcEntry, RGBColor* dstRGB) +{ + TODOMINOR(); +} + +void SetEntryColor(PaletteHandle dstPalette, short dstEntry, const RGBColor* srcRGB) +{ + TODOMINOR(); +} + +PaletteHandle NewPalette(short entries, CTabHandle srcColors, short srcUsage, short srcTolerance) +{ + TODOMINOR(); + return nil; +} + +void CopyPalette(PaletteHandle srcPalette, PaletteHandle dstPalette, short srcEntry,short dstEntry, short dstLength) +{ + TODOMINOR(); +} + +void RestoreDeviceClut(GDHandle gdh) +{ + TODOMINOR(); +} \ No newline at end of file diff --git a/src/Graphics/Graphics.cpp b/src/Graphics/Graphics.cpp index ac32560..ee13875 100644 --- a/src/Graphics/Graphics.cpp +++ b/src/Graphics/Graphics.cpp @@ -121,6 +121,15 @@ static UInt32 GetEightColorPaletteValue(long color) } } +// ---------------------------------------------------------------------------- - +// Errors + +OSErr QDError(void) +{ + TODOMINOR(); + return noErr; +} + // ---------------------------------------------------------------------------- - // PICT resources diff --git a/src/Pomme.h b/src/Pomme.h index 0844809..c5d8935 100644 --- a/src/Pomme.h +++ b/src/Pomme.h @@ -106,6 +106,11 @@ long SizeResource(Handle); // Pass in NULL to stop dumping resources. void Pomme_StartDumpingResources(const char* hostDestinationPath); +//----------------------------------------------------------------------------- +// QuickDraw 2D: Errors + +OSErr QDError(void); + //----------------------------------------------------------------------------- // QuickDraw 2D: Shapes @@ -248,6 +253,25 @@ void DamagePortRegion(const Rect*); // Pomme extension (not part of the original Toolbox API). void DumpPortTGA(const char* path); +//----------------------------------------------------------------------------- +// QuickDraw 2D: Color Manager + +void ProtectEntry(short index, Boolean protect); + +void ReserveEntry(short index, Boolean reserve); + +void SetEntries(short start, short count, CSpecArray aTable); + +void GetEntryColor(PaletteHandle srcPalette, short srcEntry, RGBColor* dstRGB); + +void SetEntryColor(PaletteHandle dstPalette, short dstEntry, const RGBColor* srcRGB); + +PaletteHandle NewPalette(short entries, CTabHandle srcColors, short srcUsage, short srcTolerance); + +void CopyPalette(PaletteHandle srcPalette, PaletteHandle dstPalette, short srcEntry,short dstEntry, short dstLength); + +void RestoreDeviceClut(GDHandle gdh); + //----------------------------------------------------------------------------- // Misc diff --git a/src/PommeTypes.h b/src/PommeTypes.h index e334757..94ec2ab 100644 --- a/src/PommeTypes.h +++ b/src/PommeTypes.h @@ -159,12 +159,16 @@ typedef GrafPort CGrafPort; typedef GrafPtr CGrafPtr; typedef CGrafPtr GWorldPtr; +//----------------------------------------------------------------------------- +// QuickDraw 2D: Color Manager + typedef struct ColorSpec { short value; RGBColor rgb; } ColorSpec; typedef ColorSpec* ColorSpecPtr; +typedef ColorSpec CSpecArray[1]; typedef struct ColorInfo { @@ -185,6 +189,16 @@ typedef struct Palette typedef Palette* PalettePtr; typedef PalettePtr* PaletteHandle; +typedef struct ColorTable +{ + SInt32 ctSeed; + short ctFlags; + short ctSize; + CSpecArray ctTable; +} ColorTable; +typedef ColorTable* CTabPtr; +typedef CTabPtr* CTabHandle; + //----------------------------------------------------------------------------- // Sound Manager types