25 #include "common/util.h" 26 #include "common/func.h" 27 #include "common/list.h" 28 #include "common/array.h" 29 #include "common/rect.h" 30 #include "common/rendermode.h" 31 #include "common/stream.h" 32 #include "common/ptr.h" 33 #include "common/error.h" 34 #include "graphics/pixelformat.h" 93 virtual Type getType()
const = 0;
98 virtual int getHeight()
const = 0;
104 virtual int getWidth()
const = 0;
109 virtual int getCharWidth(uint16 c)
const = 0;
120 virtual void setColorMap(
const uint8 *src) = 0;
129 kStyleLeftShadow = 1 << 0,
130 kStyleBorder = 1 << 1,
132 kStyleNarrow1 = 1 << 3,
133 kStyleNarrow2 = 1 << 4,
134 kStyleFullWidth = 1 << 5,
135 kStyleForceOneByte = 1 << 6
151 virtual void drawChar(uint16 c, byte *dst,
int pitch,
int bpp)
const = 0;
153 virtual void drawChar(uint16 c, byte *dst,
int pitch,
int xOffs,
int yOffs)
const {}
165 ~
DOSFont()
override { unload(); }
168 Type
getType()
const override {
return kASCII; }
171 int getCharWidth(uint16 c)
const override;
173 void drawChar(uint16 c, byte *dst,
int pitch,
int)
const override;
178 const uint8 *_colorMap;
188 uint16 *_bitmapOffsets;
200 Type
getType()
const override {
return kASCII; }
203 int getCharWidth(uint16 c)
const override;
205 void drawChar(uint16 c, byte *dst,
int pitch,
int)
const override;
213 uint8 yOffset, xOffset, width;
216 uint16 width, height;
221 Character _chars[255];
233 Type
getType()
const override {
return kSJIS; }
236 int getHeight()
const override;
237 int getWidth()
const override;
238 int getCharWidth(uint16 c)
const override;
239 void setColorMap(
const uint8 *src)
override;
241 void drawChar(uint16 c, byte *dst,
int pitch,
int)
const override;
244 const uint8 *_colorMap;
246 const bool _drawOutline;
250 const uint8 _invisColor;
251 const bool _isTextMode;
256 const int _sjisWidthOffset;
261 ChineseFont(
int pitch,
int renderWidth,
int renderHeight,
int spacingWidth,
int spacingHeight,
int extraSpacingWidth,
int extraSpacingHeight);
264 virtual Type
getType()
const override {
return kBIG5; }
268 void setStyles(
int styles)
override { _border = (styles & kStyleBorder); }
269 int getHeight()
const override {
return _spacingHeight + (_border ? _borderExtraSpacingHeight : 0); }
270 int getWidth()
const override {
return _spacingWidth + (_border ? _borderExtraSpacingWidth : 0); }
271 int getCharWidth(uint16 c)
const override {
return hasGlyphForCharacter(c) ? getWidth() : -1; }
272 int getCharHeight(uint16 c)
const override {
return hasGlyphForCharacter(c) ? _renderHeight + (_border ? _borderExtraSpacingHeight : 0) : -1; }
273 void setColorMap(
const uint8 *src)
override;
274 void drawChar(uint16 c, byte *dst,
int pitch,
int)
const override;
277 uint32 getGlyphDataSize()
const {
return _glyphDataSize; }
278 uint16 _textColor[2];
279 bool _pixelColorShading;
280 const uint8 *_colorMap;
284 virtual bool hasGlyphForCharacter(uint16 c)
const = 0;
285 virtual uint32 getFontOffset(uint16 c)
const = 0;
286 virtual void processColorMap() = 0;
288 const int _spacingWidth, _spacingHeight;
289 const int _borderExtraSpacingWidth, _borderExtraSpacingHeight;
290 const int _renderWidth, _renderHeight;
292 const uint8 *_glyphData;
293 uint32 _glyphDataSize;
299 JohabFontLoK(
Font *&font8fat,
const uint16 *lookupTable, uint32 lookupTableSize);
309 Type
getType()
const override {
return kJohab; }
312 int getCharWidth(uint16 c)
const override;
313 int getCharHeight(uint16 c)
const override;
314 void setColorMap(
const uint8 *src)
override;
315 void drawChar(uint16 c, byte *dst,
int pitch,
int)
const override;
318 const uint8 *createGlyph(uint16 chr)
const;
319 void processColorMap();
320 void renderGlyph(byte *dst,
const uint8 *glyph, uint8 col,
int pitch)
const;
323 const uint8 *_colorMap;
326 const uint8 *_fileData;
327 const uint8 *_glyphData[3];
328 const uint16 *_2byteTables[7];
336 bool hasGlyphForCharacter(uint16 c)
const override {
return !(c & 0x80); }
337 uint32 getFontOffset(uint16 c)
const override {
return (c & 0x7F) * 14; }
338 void processColorMap()
override;
345 bool hasGlyphForCharacter(uint16 c)
const override;
346 uint32 getFontOffset(uint16 c)
const override;
347 void processColorMap()
override;
349 const uint16 *_lookupTable;
350 uint32 _lookupTableSize;
357 bool hasGlyphForCharacter(uint16 c)
const override {
return (c == 0x6187) || !(c & 0x80); }
358 uint32 getFontOffset(uint16 c)
const override {
return ((c == 0x6187) ? 128 : (c & 0x7F)) * 14; }
359 void processColorMap()
override;
366 bool hasGlyphForCharacter(uint16 c)
const override {
return (c != 0x6187) && (c & 0x80); }
367 uint32 getFontOffset(uint16 c)
const override;
368 void processColorMap()
override;
373 class ChineseOneByteFontLoL final :
public ChineseFont {
375 ChineseOneByteFontLoL(
int pitch) :
ChineseFont(pitch, 8, 14, 8, 16, 0, 0) { _pixelColorShading =
false; }
376 void setStyles(
int styles)
override {}
379 bool hasGlyphForCharacter(uint16 c)
const override {
return !(c & 0x80); }
380 uint32 getFontOffset(uint16 c)
const override {
return (c & 0x7F) * 14; }
381 void processColorMap()
override;
384 class ChineseTwoByteFontLoL final :
public ChineseFont {
386 ChineseTwoByteFontLoL(
int pitch) :
ChineseFont(pitch, 16, 14, 16, 16, 0, 0) { _pixelColorShading =
false; }
387 void setStyles(
int styles)
override {}
390 bool hasGlyphForCharacter(uint16 c)
const override {
return (c & 0x80) && getFontOffset(c) < getGlyphDataSize(); }
391 uint32 getFontOffset(uint16 c)
const override;
392 void processColorMap()
override;
401 bool hasGlyphForCharacter(uint16 c)
const override {
return !(c & 0x80); }
402 uint32 getFontOffset(uint16 c)
const override {
return (c & 0x7F) * 14; }
403 void processColorMap()
override;
410 bool hasGlyphForCharacter(uint16 c)
const override {
return (c & 0x80); }
411 uint32 getFontOffset(uint16 c)
const override;
412 void processColorMap()
override;
418 Type
getType()
const override {
return kJohab; }
420 bool hasGlyphForCharacter(uint16 c)
const override {
return !(c & 0x80); }
421 uint32 getFontOffset(uint16 c)
const override {
return (c & 0x7F) * 9; }
422 void processColorMap()
override;
428 Type
getType()
const override {
return kJohab; }
430 bool hasGlyphForCharacter(uint16 c)
const override {
return (c & 0x80); }
431 uint32 getFontOffset(uint16 c)
const override;
432 void processColorMap()
override;
439 Type
getType()
const override {
return kBIG5; }
449 void setStyles(
int styles)
override;
450 int getHeight()
const override;
451 int getWidth()
const override;
452 int getCharWidth(uint16 c)
const override;
453 int getCharHeight(uint16 c)
const override;
454 void setColorMap(
const uint8 *src)
override;
455 void drawChar(uint16 c, byte *dst,
int pitch,
int)
const override;
472 kVGABytesPerColor = 3,
473 kPC98BytesPerColor = 3,
474 kAmigaBytesPerColor = 2
500 void setCGAPalette(
int palIndex,
CGAIntensity intensity);
529 void fill(
int firstCol,
int numCols, uint8 value);
539 void copy(
const Palette &source,
int firstCol = 0,
int numCols = -1,
int dstStart = -1);
549 void copy(
const uint8 *source,
int firstCol,
int numCols,
int dstStart = -1);
556 uint8 *fetchRealPalette()
const;
559 uint8 &operator[](
const int index) {
560 assert(index >= 0 && index <= _numColors * 3);
561 return _palData[index];
564 const uint8 &operator[](
const int index)
const {
565 assert(index >= 0 && index <= _numColors * 3);
566 return _palData[index];
575 const uint8 *getData()
const {
return _palData; }
579 const int _numColors;
581 static const uint8 _egaColors[];
582 static const int _egaNumColors;
583 static const uint8 _cgaColors[4][12];
584 static const int _cgaNumColors;
592 SCREEN_H_SEGA_NTSC = 224,
593 SCREEN_PAGE_SIZE = 320 * 200 + 1024,
594 SCREEN_OVL_SJIS_SIZE = 640 * 400,
595 SCREEN_PAGE_NUM = 16,
598 SCREEN_IDLEREFRESH_RESTART_MSEC = 250,
599 SCREEN_IDLEREFRESH_RATE_MSEC = 16
602 enum CopyRegionFlags {
606 enum DrawShapeFlags {
607 kDRAWSHP_XFLIP = 0x01,
608 kDRAWSHP_YFLIP = 0x02,
609 kDRAWSHP_SCALE = 0x04,
610 kDRAWSHP_WINREL = 0x10,
611 kDRAWSHP_CENTER = 0x20,
612 kDRAWSHP_FADE = 0x100,
613 kDRAWSHP_PREDATOR = 0x200,
614 kDRAWSHP_COMPACT = 0x400,
615 kDRAWSHP_PRIORITY = 0x800,
616 kDRAWSHP_TRANSPARENT = 0x1000,
617 kDRAWSHP_BCKGRNDFADE = 0x2000,
618 kDRAWSHP_MORPH = 0x4000,
619 kDRAWSHP_COLOR = 0x8000
632 FID_SJIS_TEXTMODE_FNT,
646 virtual void enableHiColorMode(
bool enabled);
650 void updateBackendScreen(
bool force);
652 uint32 _idleUpdateTimer;
655 bool queryScreenDebug()
const {
return _debugEnabled; }
656 bool enableScreenDebug(
bool enable);
659 int setCurPage(
int pageNum);
662 void copyWsaRect(
int x,
int y,
int w,
int h,
int dimState,
int plotFunc,
const uint8 *src,
663 int unk1,
const uint8 *unkPtr1,
const uint8 *unkPtr2);
666 void copyToPage0(
int y,
int h, uint8 page, uint8 *seqBuf);
667 void shakeScreen(
int times);
670 void copyRegion(
int x1,
int y1,
int x2,
int y2,
int w,
int h,
int srcPage,
int dstPage,
int flags=0);
671 void copyPage(uint8 srcPage, uint8 dstPage);
673 void copyRegionToBuffer(
int pageNum,
int x,
int y,
int w,
int h, uint8 *dest);
674 void copyBlockToPage(
int pageNum,
int x,
int y,
int w,
int h,
const uint8 *src);
676 void shuffleScreen(
int sx,
int sy,
int w,
int h,
int srcPage,
int dstPage,
int ticks,
bool transparent);
677 void fillRect(
int x1,
int y1,
int x2,
int y2, uint8 color,
int pageNum = -1,
bool xored =
false);
679 void clearPage(
int pageNum);
681 int getPagePixel(
int pageNum,
int x,
int y) {
682 assert(_getPagePixelProc);
683 return (this->*_getPagePixelProc)(pageNum, x, y);
685 void setPagePixel(
int pageNum,
int x,
int y, uint8 color) {
686 assert(_setPagePixelProc);
687 (this->*_setPagePixelProc)(pageNum, x, y, color);
690 const uint8 *getCPagePtr(
int pageNum)
const;
691 uint8 *getPageRect(
int pageNum,
int x,
int y,
int w,
int h);
694 void fadeFromBlack(
int delay=0x54,
const UpdateFunctor *upFunc = 0);
695 void fadeToBlack(
int delay=0x54,
const UpdateFunctor *upFunc = 0);
697 virtual void fadePalette(
const Palette &pal,
int delay,
const UpdateFunctor *upFunc = 0);
698 virtual void getFadeParams(
const Palette &pal,
int delay,
int &delayInc,
int &diff);
699 virtual int fadePalStep(
const Palette &pal,
int diff);
701 void setPaletteIndex(uint8 index, uint8 red, uint8 green, uint8 blue);
702 virtual void setScreenPalette(
const Palette &pal);
707 void transposeScreenOutputY(
int yAdd);
710 bool isInterfacePaletteEnabled()
const {
return _dualPaletteModeSplitY; }
711 void enableDualPaletteMode(
int splitY);
712 void disableDualPaletteMode();
714 virtual void getRealPalette(
int num, uint8 *dst);
716 void copyPalette(
const int dst,
const int src);
719 void drawLine(
bool vertical,
int x,
int y,
int length,
int color);
720 void drawClippedLine(
int x1,
int y1,
int x2,
int y2,
int color);
721 virtual void drawShadedBox(
int x1,
int y1,
int x2,
int y2,
int color1,
int color2);
722 void drawBox(
int x1,
int y1,
int x2,
int y2,
int color);
725 virtual bool loadFont(FontId fontId,
const char *filename);
726 FontId setFont(FontId fontId);
728 int getFontHeight()
const;
729 int getFontWidth()
const;
731 int getCharWidth(uint16 c)
const;
732 int getCharHeight(uint16 c)
const;
733 int getTextWidth(
const char *str,
bool nextWordOnly =
false);
734 int getNumberOfCharacters(
const char *str);
736 void printText(
const char *str,
int x,
int y, uint8 color1, uint8 color2,
int pitch = -1);
738 virtual void setTextColorMap(
const uint8 *cmap) = 0;
739 void setTextColor(
const uint8 *cmap,
int a,
int b);
740 void setTextColorHiCol(
const uint32 *cmap);
741 int setFontStyles(FontId fontId,
int styles);
743 const ScreenDim *getScreenDim(
int dim)
const;
744 void modifyScreenDim(
int dim,
int x,
int y,
int w,
int h);
745 int screenDimTableCount()
const {
return _dimTableCount; }
747 void setScreenDim(
int dim);
748 int curDimIndex()
const {
return _curDimIndex; }
750 void setTextMarginRight(
int x) { _textMarginRight = x; }
751 uint16 _textMarginRight;
752 bool _overdrawMargin;
759 uint8 *encodeShape(
int x,
int y,
int w,
int h,
int flags);
761 int setNewShapeHeight(uint8 *shape,
int height);
762 int resetShapeHeight(uint8 *shape);
764 virtual void drawShape(uint8 pageNum,
const uint8 *shapeData,
int x,
int y,
int sd,
int flags, ...);
769 bool isMouseVisible()
const;
770 virtual void setMouseCursor(
int x,
int y,
const byte *shape);
773 virtual int getRectSize(
int w,
int h) = 0;
775 void rectClip(
int &x,
int &y,
int w,
int h);
778 virtual void loadBitmap(
const char *filename,
int tempPage,
int dstPage,
Palette *pal,
bool skip=
false);
780 virtual bool loadPalette(
const char *filename,
Palette &pal);
781 bool loadPaletteTable(
const char *filename,
int firstPalette);
782 virtual void loadPalette(
const byte *data,
Palette &pal,
int bytes);
784 void setAnimBlockPtr(
int size);
786 void setShapePages(
int page1,
int page2,
int minY = -1,
int maxY = 201);
788 virtual byte getShapeFlag1(
int x,
int y);
789 virtual byte getShapeFlag2(
int x,
int y);
791 virtual int getDrawLayer(
int x,
int y);
792 virtual int getDrawLayer2(
int x,
int y,
int height);
794 void blockInRegion(
int x,
int y,
int width,
int height);
795 void blockOutRegion(
int x,
int y,
int width,
int height);
800 uint8 *_shapePages[2];
801 int _maskMinY, _maskMaxY;
805 static void decodeFrame1(
const uint8 *src, uint8 *dst, uint32 size);
806 static uint16 decodeEGAGetCode(
const uint8 *&pos, uint8 &nib);
808 static void decodeFrame3(
const uint8 *src, uint8 *dst, uint32 size,
bool isAmiga);
809 static uint decodeFrame4(
const uint8 *src, uint8 *dst, uint32 dstSize);
810 static void decodeFrameDelta(uint8 *dst,
const uint8 *src,
bool noXor =
false);
811 static void decodeFrameDeltaPage(uint8 *dst,
const uint8 *src,
const int pitch,
bool noXor);
813 static void convertAmigaGfx(uint8 *data,
int w,
int h,
int depth = 5,
bool wsa =
false,
int bytesPerPlane = -1);
814 static void convertAmigaMsc(uint8 *data);
821 void crossFadeRegion(
int x1,
int y1,
int x2,
int y2,
int w,
int h,
int srcPage,
int dstPage);
823 const void *getHiColorPalette()
const {
return _hiColorNativePalettes; }
824 void set16bitShadingLevel(
int lvl) { _hiColorShadingLevel = lvl; }
827 void resetPagePtrsAndBuffers(
int pageSize);
828 uint8 *getPagePtr(
int pageNum);
829 virtual void updateDirtyRects();
830 void updateDirtyRectsAmiga();
831 void updateDirtyRectsOvl();
833 template<
typename srcPixelType,
typename dstPixelType>
void scale2x(uint8 *dst,
int dstPitch,
const uint8 *src,
int srcPitch,
int w,
int h);
834 template<
typename pixelType>
void mergeOverlayImpl(
int x,
int y,
int w,
int h);
835 virtual void mergeOverlay(
int x,
int y,
int w,
int h) {
836 assert(_mergeOverlayProc);
837 (this->*_mergeOverlayProc)(x, y, w, h);
841 byte *getOverlayPtr(
int pageNum);
842 void clearOverlayPage(
int pageNum);
843 void clearOverlayRect(
int pageNum,
int x,
int y,
int w,
int h);
844 void copyOverlayRegion(
int x,
int y,
int x2,
int y2,
int w,
int h,
int srcPage,
int dstPage);
847 uint16 fetchChar(
const char *&s)
const;
848 void drawChar(uint16 c,
int x,
int y,
int pitch = -1);
850 int16 encodeShapeAndCalculateSize(uint8 *from, uint8 *to,
int size);
852 template<
bool noXor>
static void wrapped_decodeFrameDelta(uint8 *dst,
const uint8 *src);
853 template<
bool noXor>
static void wrapped_decodeFrameDeltaPage(uint8 *dst,
const uint8 *src,
const int pitch);
855 typedef void (
Screen::*MergeOverlayFunc)(int, int, int, int);
856 MergeOverlayFunc _mergeOverlayProc;
857 static const MergeOverlayFunc _mergeOverlayProcs[];
858 typedef void (
Screen::*Scale2xFunc)(uint8*, int,
const uint8*, int, int, int);
859 Scale2xFunc _scale2xProc;
860 static const Scale2xFunc _scale2xProcs[];
862 template<
typename T>
int getPagePixelImpl(
int pageNum,
int x,
int y);
863 template<
typename T>
void setPagePixelImpl(
int pageNum,
int x,
int y, uint8 color);
865 typedef int (
Screen::*GetPagePixelProc)(int, int, int);
866 GetPagePixelProc _getPagePixelProc;
867 static const GetPagePixelProc _getPagePixelProcs[];
868 typedef void (
Screen::*SetPagePixelProc)(int, int, int, uint8);
869 SetPagePixelProc _setPagePixelProc;
870 static const SetPagePixelProc _setPagePixelProcs[];
872 uint8 *_pagePtrs[16];
873 const uint8 *_pagePtrsBuff;
874 uint8 *_sjisOverlayPtrs[SCREEN_OVLS_NUM];
875 uint8 _pageMapping[SCREEN_PAGE_NUM];
881 Font *_fonts[FID_NUM];
882 uint8 _textColorsMap[16];
883 uint32 _textColorsMapHiCol[2];
885 uint8 *_textRenderBuffer;
886 int _textRenderBufferSize;
889 uint8 _sjisInvisibleColor;
890 bool _sjisMixedFontMode;
893 bool _use16ColorMode;
894 bool _4bitPixelPacking;
895 bool _useHiResEGADithering;
898 bool _useAmigaExtraColors;
901 int _internalBytesPerPixel;
903 const int _screenHeight;
910 uint32 shadeRGBColor(uint32 col);
912 void *_hiColorNativePalettes;
913 void *_hiColorConversionPalette;
914 uint8 _hiColorShadingLevel;
916 uint8 *_animBlockPtr;
922 const int _dimTableCount;
927 const uint8 _cursorColorKey;
929 virtual void postProcessCursor(uint8 *data,
int w,
int h,
int pitch) {}
935 bool _forceFullUpdate;
936 bool _paletteChanged;
939 void addDirtyRect(
int x,
int y,
int w,
int h);
945 typedef void (
Screen::*DsPlotFunc)(uint8*, uint8);
946 typedef int (
Screen::*DsMarginSkipFunc)(uint8*&,
const uint8*&,
int&);
947 typedef void (
Screen::*DsLineFunc)(uint8*&,
const uint8*&,
const DsPlotFunc,
int&, int16);
949 int drawShapeMarginNoScaleUpwind(uint8 *&dst,
const uint8 *&src,
int &cnt);
950 int drawShapeMarginNoScaleDownwind(uint8 *&dst,
const uint8 *&src,
int &cnt);
951 int drawShapeMarginScaleUpwind(uint8 *&dst,
const uint8 *&src,
int &cnt);
952 int drawShapeMarginScaleDownwind(uint8 *&dst,
const uint8 *&src,
int &cnt);
953 int drawShapeSkipScaleUpwind(uint8 *&dst,
const uint8 *&src,
int &cnt);
954 int drawShapeSkipScaleDownwind(uint8 *&dst,
const uint8 *&src,
int &cnt);
955 void drawShapeProcessLineNoScaleUpwind(uint8 *&dst,
const uint8 *&src,
const DsPlotFunc plot,
int &cnt, int16);
956 void drawShapeProcessLineNoScaleDownwind(uint8 *&dst,
const uint8 *&src,
const DsPlotFunc plot,
int &cnt, int16);
957 void drawShapeProcessLineScaleUpwind(uint8 *&dst,
const uint8 *&src,
const DsPlotFunc plot,
int &cnt, int16 scaleState);
958 void drawShapeProcessLineScaleDownwind(uint8 *&dst,
const uint8 *&src,
const DsPlotFunc plot,
int &cnt, int16 scaleState);
960 void drawShapePlotType0(uint8 *dst, uint8 cmd);
961 void drawShapePlotType1(uint8 *dst, uint8 cmd);
962 void drawShapePlotType3_7(uint8 *dst, uint8 cmd);
963 void drawShapePlotType4(uint8 *dst, uint8 cmd);
964 void drawShapePlotType5(uint8 *dst, uint8 cmd);
965 void drawShapePlotType6(uint8 *dst, uint8 cmd);
966 void drawShapePlotType8(uint8 *dst, uint8 cmd);
967 void drawShapePlotType9(uint8 *dst, uint8 cmd);
968 void drawShapePlotType11_15(uint8 *dst, uint8 cmd);
969 void drawShapePlotType12(uint8 *dst, uint8 cmd);
970 void drawShapePlotType13(uint8 *dst, uint8 cmd);
971 void drawShapePlotType14(uint8 *dst, uint8 cmd);
972 void drawShapePlotType16(uint8 *dst, uint8 cmd);
973 void drawShapePlotType20(uint8 *dst, uint8 cmd);
974 void drawShapePlotType21(uint8 *dst, uint8 cmd);
975 void drawShapePlotType33(uint8 *dst, uint8 cmd);
976 void drawShapePlotType37(uint8 *dst, uint8 cmd);
977 void drawShapePlotType48(uint8 *dst, uint8 cmd);
978 void drawShapePlotType52(uint8 *dst, uint8 cmd);
980 const uint8 *_dsShapeFadingTable;
981 int _dsShapeFadingLevel;
982 const uint8 *_dsColorTable;
983 const uint8 *_dsTransparencyTable1;
984 const uint8 *_dsTransparencyTable2;
985 const uint8 *_dsBackgroundFadingTable;
989 int _dsOffscreenLeft;
990 int _dsOffscreenRight;
993 int _dsOffscreenScaleVal1;
994 int _dsOffscreenScaleVal2;
1001 int _dualPaletteModeSplitY;
void setColorMap(const uint8 *src) override
Definition: screen.h:204
int getNumColors() const
Definition: screen.h:515
uint8 * getData()
Definition: screen.h:574
int getHeight() const override
Definition: screen.h:310
bool load(Common::SeekableReadStream &) override
Definition: screen.h:235
int getHeight() const override
Definition: screen.h:169
bool usesOverlay() const override
Definition: screen.h:232
virtual void setHiColorMap(const uint32 *src)
Definition: screen.h:125
virtual void setStyles(int styles)
Definition: screen.h:141
Definition: kyra_v1.h:126
Type getType() const override
Definition: screen.h:200
RenderMode
Definition: rendermode.h:48
virtual Type getType() const override
Definition: screen.h:264
Definition: atari-screen.h:58
void setStyles(int style) override
Definition: screen.h:240
virtual bool usesOverlay() const
Definition: screen.h:88
int getHeight() const override
Definition: screen.h:201
Out copy(In first, In last, Out dst)
Definition: algorithm.h:52
Definition: formatinfo.h:28
Type getType() const override
Definition: screen.h:168
int getCharHeight(uint16 c) const override
Definition: screen.h:272
void setStyles(int styles) override
Definition: screen.h:268
Type getType() const override
Definition: screen.h:418
void setColorMap(const uint8 *src) override
Definition: screen.h:172
Definition: detection.h:27
int getWidth() const override
Definition: screen.h:311
int getWidth() const override
Definition: screen.h:202
signed char * fill(signed char *first, signed char *last, Value val)
Definition: algorithm.h:168
Type getType() const override
Definition: screen.h:233
int getCharWidth(uint16 c) const override
Definition: screen.h:271
Type getType() const override
Definition: screen.h:428
Type getType() const override
Definition: screen.h:439
Type getType() const override
Definition: screen.h:309
int getWidth() const override
Definition: screen.h:170
CGAIntensity
Definition: screen.h:495
int getHeight() const override
Definition: screen.h:269
int getWidth() const override
Definition: screen.h:270
virtual int getCharHeight(uint16 c) const
Definition: screen.h:115