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" 92 virtual Type getType()
const = 0;
97 virtual int getHeight()
const = 0;
103 virtual int getWidth()
const = 0;
108 virtual int getCharWidth(uint16 c)
const = 0;
119 virtual void setColorMap(
const uint8 *src) = 0;
128 kStyleLeftShadow = 1 << 0,
129 kStyleBorder = 1 << 1,
131 kStyleNarrow1 = 1 << 3,
132 kStyleNarrow2 = 1 << 4,
133 kStyleFullWidth = 1 << 5,
134 kStyleForceOneByte = 1 << 6
150 virtual void drawChar(uint16 c, byte *dst,
int pitch,
int bpp)
const = 0;
152 virtual void drawChar(uint16 c, byte *dst,
int pitch,
int xOffs,
int yOffs)
const {}
164 ~
DOSFont()
override { unload(); }
167 Type
getType()
const override {
return kASCII; }
170 int getCharWidth(uint16 c)
const override;
172 void drawChar(uint16 c, byte *dst,
int pitch,
int)
const override;
177 const uint8 *_colorMap;
187 uint16 *_bitmapOffsets;
199 Type
getType()
const override {
return kASCII; }
202 int getCharWidth(uint16 c)
const override;
204 void drawChar(uint16 c, byte *dst,
int pitch,
int)
const override;
212 uint8 yOffset, xOffset, width;
215 uint16 width, height;
220 Character _chars[255];
232 Type
getType()
const override {
return kSJIS; }
235 int getHeight()
const override;
236 int getWidth()
const override;
237 int getCharWidth(uint16 c)
const override;
238 void setColorMap(
const uint8 *src)
override;
240 void drawChar(uint16 c, byte *dst,
int pitch,
int)
const override;
243 const uint8 *_colorMap;
245 const bool _drawOutline;
249 const uint8 _invisColor;
250 const bool _isTextMode;
255 const int _sjisWidthOffset;
260 ChineseFont(
int pitch,
int renderWidth,
int renderHeight,
int spacingWidth,
int spacingHeight,
int extraSpacingWidth,
int extraSpacingHeight);
263 virtual Type
getType()
const override {
return kBIG5; }
267 void setStyles(
int styles)
override { _border = (styles & kStyleBorder); }
268 int getHeight()
const override {
return _spacingHeight + (_border ? _borderExtraSpacingHeight : 0); }
269 int getWidth()
const override {
return _spacingWidth + (_border ? _borderExtraSpacingWidth : 0); }
270 int getCharWidth(uint16 c)
const override {
return hasGlyphForCharacter(c) ? getWidth() : -1; }
271 int getCharHeight(uint16 c)
const override {
return hasGlyphForCharacter(c) ? _renderHeight + (_border ? _borderExtraSpacingHeight : 0) : -1; }
272 void setColorMap(
const uint8 *src)
override;
273 void drawChar(uint16 c, byte *dst,
int pitch,
int)
const override;
276 uint32 getGlyphDataSize()
const {
return _glyphDataSize; }
277 uint16 _textColor[2];
278 bool _pixelColorShading;
279 const uint8 *_colorMap;
283 virtual bool hasGlyphForCharacter(uint16 c)
const = 0;
284 virtual uint32 getFontOffset(uint16 c)
const = 0;
285 virtual void processColorMap() = 0;
287 const int _spacingWidth, _spacingHeight;
288 const int _borderExtraSpacingWidth, _borderExtraSpacingHeight;
289 const int _renderWidth, _renderHeight;
291 const uint8 *_glyphData;
292 uint32 _glyphDataSize;
298 JohabFontLoK(
Font *&font8fat,
const uint16 *lookupTable, uint32 lookupTableSize);
308 Type
getType()
const override {
return kJohab; }
311 int getCharWidth(uint16 c)
const override;
312 int getCharHeight(uint16 c)
const override;
313 void setColorMap(
const uint8 *src)
override;
314 void drawChar(uint16 c, byte *dst,
int pitch,
int)
const override;
317 const uint8 *createGlyph(uint16 chr)
const;
318 void processColorMap();
319 void renderGlyph(byte *dst,
const uint8 *glyph, uint8 col,
int pitch)
const;
322 const uint8 *_colorMap;
325 const uint8 *_fileData;
326 const uint8 *_glyphData[3];
327 const uint16 *_2byteTables[7];
335 bool hasGlyphForCharacter(uint16 c)
const override {
return !(c & 0x80); }
336 uint32 getFontOffset(uint16 c)
const override {
return (c & 0x7F) * 14; }
337 void processColorMap()
override;
344 bool hasGlyphForCharacter(uint16 c)
const override;
345 uint32 getFontOffset(uint16 c)
const override;
346 void processColorMap()
override;
348 const uint16 *_lookupTable;
349 uint32 _lookupTableSize;
356 bool hasGlyphForCharacter(uint16 c)
const override {
return (c == 0x6187) || !(c & 0x80); }
357 uint32 getFontOffset(uint16 c)
const override {
return ((c == 0x6187) ? 128 : (c & 0x7F)) * 14; }
358 void processColorMap()
override;
365 bool hasGlyphForCharacter(uint16 c)
const override {
return (c != 0x6187) && (c & 0x80); }
366 uint32 getFontOffset(uint16 c)
const override;
367 void processColorMap()
override;
372 class ChineseOneByteFontLoL final :
public ChineseFont {
374 ChineseOneByteFontLoL(
int pitch) :
ChineseFont(pitch, 8, 14, 8, 16, 0, 0) { _pixelColorShading =
false; }
375 void setStyles(
int styles)
override {}
378 bool hasGlyphForCharacter(uint16 c)
const override {
return !(c & 0x80); }
379 uint32 getFontOffset(uint16 c)
const override {
return (c & 0x7F) * 14; }
380 void processColorMap()
override;
383 class ChineseTwoByteFontLoL final :
public ChineseFont {
385 ChineseTwoByteFontLoL(
int pitch) :
ChineseFont(pitch, 16, 14, 16, 16, 0, 0) { _pixelColorShading =
false; }
386 void setStyles(
int styles)
override {}
389 bool hasGlyphForCharacter(uint16 c)
const override {
return (c & 0x80) && getFontOffset(c) < getGlyphDataSize(); }
390 uint32 getFontOffset(uint16 c)
const override;
391 void processColorMap()
override;
400 bool hasGlyphForCharacter(uint16 c)
const override {
return !(c & 0x80); }
401 uint32 getFontOffset(uint16 c)
const override {
return (c & 0x7F) * 14; }
402 void processColorMap()
override;
409 bool hasGlyphForCharacter(uint16 c)
const override {
return (c & 0x80); }
410 uint32 getFontOffset(uint16 c)
const override;
411 void processColorMap()
override;
417 Type
getType()
const override {
return kJohab; }
419 bool hasGlyphForCharacter(uint16 c)
const override {
return !(c & 0x80); }
420 uint32 getFontOffset(uint16 c)
const override {
return (c & 0x7F) * 9; }
421 void processColorMap()
override;
427 Type
getType()
const override {
return kJohab; }
429 bool hasGlyphForCharacter(uint16 c)
const override {
return (c & 0x80); }
430 uint32 getFontOffset(uint16 c)
const override;
431 void processColorMap()
override;
438 Type
getType()
const override {
return kBIG5; }
448 void setStyles(
int styles)
override;
449 int getHeight()
const override;
450 int getWidth()
const override;
451 int getCharWidth(uint16 c)
const override;
452 int getCharHeight(uint16 c)
const override;
453 void setColorMap(
const uint8 *src)
override;
454 void drawChar(uint16 c, byte *dst,
int pitch,
int)
const override;
471 kVGABytesPerColor = 3,
472 kPC98BytesPerColor = 3,
473 kAmigaBytesPerColor = 2
499 void setCGAPalette(
int palIndex,
CGAIntensity intensity);
528 void fill(
int firstCol,
int numCols, uint8 value);
538 void copy(
const Palette &source,
int firstCol = 0,
int numCols = -1,
int dstStart = -1);
548 void copy(
const uint8 *source,
int firstCol,
int numCols,
int dstStart = -1);
555 uint8 *fetchRealPalette()
const;
558 uint8 &operator[](
const int index) {
559 assert(index >= 0 && index <= _numColors * 3);
560 return _palData[index];
563 const uint8 &operator[](
const int index)
const {
564 assert(index >= 0 && index <= _numColors * 3);
565 return _palData[index];
574 const uint8 *getData()
const {
return _palData; }
578 const int _numColors;
580 static const uint8 _egaColors[];
581 static const int _egaNumColors;
582 static const uint8 _cgaColors[4][12];
583 static const int _cgaNumColors;
591 SCREEN_H_SEGA_NTSC = 224,
592 SCREEN_PAGE_SIZE = 320 * 200 + 1024,
593 SCREEN_OVL_SJIS_SIZE = 640 * 400,
594 SCREEN_PAGE_NUM = 16,
597 SCREEN_IDLEREFRESH_RESTART_MSEC = 250,
598 SCREEN_IDLEREFRESH_RATE_MSEC = 16
601 enum CopyRegionFlags {
605 enum DrawShapeFlags {
606 kDRAWSHP_XFLIP = 0x01,
607 kDRAWSHP_YFLIP = 0x02,
608 kDRAWSHP_SCALE = 0x04,
609 kDRAWSHP_WINREL = 0x10,
610 kDRAWSHP_CENTER = 0x20,
611 kDRAWSHP_FADE = 0x100,
612 kDRAWSHP_PREDATOR = 0x200,
613 kDRAWSHP_COMPACT = 0x400,
614 kDRAWSHP_PRIORITY = 0x800,
615 kDRAWSHP_TRANSPARENT = 0x1000,
616 kDRAWSHP_BCKGRNDFADE = 0x2000,
617 kDRAWSHP_MORPH = 0x4000,
618 kDRAWSHP_COLOR = 0x8000
631 FID_SJIS_TEXTMODE_FNT,
645 virtual void enableHiColorMode(
bool enabled);
649 void updateBackendScreen(
bool force);
651 uint32 _idleUpdateTimer;
654 bool queryScreenDebug()
const {
return _debugEnabled; }
655 bool enableScreenDebug(
bool enable);
658 int setCurPage(
int pageNum);
661 void copyWsaRect(
int x,
int y,
int w,
int h,
int dimState,
int plotFunc,
const uint8 *src,
662 int unk1,
const uint8 *unkPtr1,
const uint8 *unkPtr2);
665 void copyToPage0(
int y,
int h, uint8 page, uint8 *seqBuf);
666 void shakeScreen(
int times);
669 void copyRegion(
int x1,
int y1,
int x2,
int y2,
int w,
int h,
int srcPage,
int dstPage,
int flags=0);
670 void copyPage(uint8 srcPage, uint8 dstPage);
672 void copyRegionToBuffer(
int pageNum,
int x,
int y,
int w,
int h, uint8 *dest);
673 void copyBlockToPage(
int pageNum,
int x,
int y,
int w,
int h,
const uint8 *src);
675 void shuffleScreen(
int sx,
int sy,
int w,
int h,
int srcPage,
int dstPage,
int ticks,
bool transparent);
676 void fillRect(
int x1,
int y1,
int x2,
int y2, uint8 color,
int pageNum = -1,
bool xored =
false);
678 void clearPage(
int pageNum);
680 int getPagePixel(
int pageNum,
int x,
int y);
681 void setPagePixel(
int pageNum,
int x,
int y, uint8 color);
683 const uint8 *getCPagePtr(
int pageNum)
const;
684 uint8 *getPageRect(
int pageNum,
int x,
int y,
int w,
int h);
687 void fadeFromBlack(
int delay=0x54,
const UpdateFunctor *upFunc = 0);
688 void fadeToBlack(
int delay=0x54,
const UpdateFunctor *upFunc = 0);
690 virtual void fadePalette(
const Palette &pal,
int delay,
const UpdateFunctor *upFunc = 0);
691 virtual void getFadeParams(
const Palette &pal,
int delay,
int &delayInc,
int &diff);
692 virtual int fadePalStep(
const Palette &pal,
int diff);
694 void setPaletteIndex(uint8 index, uint8 red, uint8 green, uint8 blue);
695 virtual void setScreenPalette(
const Palette &pal);
700 void transposeScreenOutputY(
int yAdd);
703 bool isInterfacePaletteEnabled()
const {
return _dualPaletteModeSplitY; }
704 void enableDualPaletteMode(
int splitY);
705 void disableDualPaletteMode();
707 virtual void getRealPalette(
int num, uint8 *dst);
709 void copyPalette(
const int dst,
const int src);
712 void drawLine(
bool vertical,
int x,
int y,
int length,
int color);
713 void drawClippedLine(
int x1,
int y1,
int x2,
int y2,
int color);
714 virtual void drawShadedBox(
int x1,
int y1,
int x2,
int y2,
int color1,
int color2);
715 void drawBox(
int x1,
int y1,
int x2,
int y2,
int color);
718 virtual bool loadFont(FontId fontId,
const char *filename);
719 FontId setFont(FontId fontId);
721 int getFontHeight()
const;
722 int getFontWidth()
const;
724 int getCharWidth(uint16 c)
const;
725 int getCharHeight(uint16 c)
const;
726 int getTextWidth(
const char *str,
bool nextWordOnly =
false);
727 int getNumberOfCharacters(
const char *str);
729 void printText(
const char *str,
int x,
int y, uint8 color1, uint8 color2,
int pitch = -1);
731 virtual void setTextColorMap(
const uint8 *cmap) = 0;
732 void setTextColor(
const uint8 *cmap,
int a,
int b);
733 void setTextColor16bit(
const uint16 *cmap16);
734 int setFontStyles(FontId fontId,
int styles);
736 const ScreenDim *getScreenDim(
int dim)
const;
737 void modifyScreenDim(
int dim,
int x,
int y,
int w,
int h);
738 int screenDimTableCount()
const {
return _dimTableCount; }
740 void setScreenDim(
int dim);
741 int curDimIndex()
const {
return _curDimIndex; }
743 void setTextMarginRight(
int x) { _textMarginRight = x; }
744 uint16 _textMarginRight;
745 bool _overdrawMargin;
752 uint8 *encodeShape(
int x,
int y,
int w,
int h,
int flags);
754 int setNewShapeHeight(uint8 *shape,
int height);
755 int resetShapeHeight(uint8 *shape);
757 virtual void drawShape(uint8 pageNum,
const uint8 *shapeData,
int x,
int y,
int sd,
int flags, ...);
762 bool isMouseVisible()
const;
763 virtual void setMouseCursor(
int x,
int y,
const byte *shape);
766 virtual int getRectSize(
int w,
int h) = 0;
768 void rectClip(
int &x,
int &y,
int w,
int h);
771 virtual void loadBitmap(
const char *filename,
int tempPage,
int dstPage,
Palette *pal,
bool skip=
false);
773 virtual bool loadPalette(
const char *filename,
Palette &pal);
774 bool loadPaletteTable(
const char *filename,
int firstPalette);
775 virtual void loadPalette(
const byte *data,
Palette &pal,
int bytes);
777 void setAnimBlockPtr(
int size);
779 void setShapePages(
int page1,
int page2,
int minY = -1,
int maxY = 201);
781 virtual byte getShapeFlag1(
int x,
int y);
782 virtual byte getShapeFlag2(
int x,
int y);
784 virtual int getDrawLayer(
int x,
int y);
785 virtual int getDrawLayer2(
int x,
int y,
int height);
787 void blockInRegion(
int x,
int y,
int width,
int height);
788 void blockOutRegion(
int x,
int y,
int width,
int height);
793 uint8 *_shapePages[2];
794 int _maskMinY, _maskMaxY;
798 static void decodeFrame1(
const uint8 *src, uint8 *dst, uint32 size);
799 static uint16 decodeEGAGetCode(
const uint8 *&pos, uint8 &nib);
801 static void decodeFrame3(
const uint8 *src, uint8 *dst, uint32 size,
bool isAmiga);
802 static uint decodeFrame4(
const uint8 *src, uint8 *dst, uint32 dstSize);
803 static void decodeFrameDelta(uint8 *dst,
const uint8 *src,
bool noXor =
false);
804 static void decodeFrameDeltaPage(uint8 *dst,
const uint8 *src,
const int pitch,
bool noXor);
806 static void convertAmigaGfx(uint8 *data,
int w,
int h,
int depth = 5,
bool wsa =
false,
int bytesPerPlane = -1);
807 static void convertAmigaMsc(uint8 *data);
814 void crossFadeRegion(
int x1,
int y1,
int x2,
int y2,
int w,
int h,
int srcPage,
int dstPage);
816 uint16 *get16bitPalette() {
return _16bitPalette; }
817 void set16bitShadingLevel(
int lvl) { _16bitShadingLevel = lvl; }
820 void resetPagePtrsAndBuffers(
int pageSize);
821 uint8 *getPagePtr(
int pageNum);
822 virtual void updateDirtyRects();
823 void updateDirtyRectsAmiga();
824 void updateDirtyRectsOvl();
826 template<
typename srcType,
typename scaleToType>
void scale2x(uint8 *dst,
int dstPitch,
const uint8 *src,
int srcPitch,
int w,
int h);
827 template<
typename pixelType>
void mergeOverlayImpl(
int x,
int y,
int w,
int h);
828 virtual void mergeOverlay(
int x,
int y,
int w,
int h) {
829 if (_useHiColorScreen)
830 mergeOverlayImpl<uint16>(x, y, w, h);
832 mergeOverlayImpl<uint8>(x, y, w, h);
836 byte *getOverlayPtr(
int pageNum);
837 void clearOverlayPage(
int pageNum);
838 void clearOverlayRect(
int pageNum,
int x,
int y,
int w,
int h);
839 void copyOverlayRegion(
int x,
int y,
int x2,
int y2,
int w,
int h,
int srcPage,
int dstPage);
842 uint16 fetchChar(
const char *&s)
const;
843 void drawChar(uint16 c,
int x,
int y,
int pitch = -1);
845 int16 encodeShapeAndCalculateSize(uint8 *from, uint8 *to,
int size);
847 template<
bool noXor>
static void wrapped_decodeFrameDelta(uint8 *dst,
const uint8 *src);
848 template<
bool noXor>
static void wrapped_decodeFrameDeltaPage(uint8 *dst,
const uint8 *src,
const int pitch);
850 uint8 *_pagePtrs[16];
851 const uint8 *_pagePtrsBuff;
852 uint8 *_sjisOverlayPtrs[SCREEN_OVLS_NUM];
853 uint8 _pageMapping[SCREEN_PAGE_NUM];
859 Font *_fonts[FID_NUM];
860 uint8 _textColorsMap[16];
861 uint16 _textColorsMap16bit[2];
863 uint8 *_textRenderBuffer;
864 int _textRenderBufferSize;
867 uint8 _sjisInvisibleColor;
868 bool _sjisMixedFontMode;
871 bool _use16ColorMode;
872 bool _useShapeShading;
873 bool _4bitPixelPacking;
874 bool _useHiResEGADithering;
875 bool _useHiColorScreen;
877 bool _useAmigaExtraColors;
882 const int _screenHeight;
889 uint16 shade16bitColor(uint16 col);
891 uint16 *_16bitPalette;
892 uint16 *_16bitConversionPalette;
893 uint8 _16bitShadingLevel;
895 uint8 *_animBlockPtr;
901 const int _dimTableCount;
906 const uint8 _cursorColorKey;
908 virtual void postProcessCursor(uint8 *data,
int w,
int h,
int pitch) {}
914 bool _forceFullUpdate;
915 bool _paletteChanged;
918 void addDirtyRect(
int x,
int y,
int w,
int h);
924 typedef void (
Screen::*DsPlotFunc)(uint8*, uint8);
925 typedef int (
Screen::*DsMarginSkipFunc)(uint8*&,
const uint8*&,
int&);
926 typedef void (
Screen::*DsLineFunc)(uint8*&,
const uint8*&,
const DsPlotFunc,
int&, int16);
928 int drawShapeMarginNoScaleUpwind(uint8 *&dst,
const uint8 *&src,
int &cnt);
929 int drawShapeMarginNoScaleDownwind(uint8 *&dst,
const uint8 *&src,
int &cnt);
930 int drawShapeMarginScaleUpwind(uint8 *&dst,
const uint8 *&src,
int &cnt);
931 int drawShapeMarginScaleDownwind(uint8 *&dst,
const uint8 *&src,
int &cnt);
932 int drawShapeSkipScaleUpwind(uint8 *&dst,
const uint8 *&src,
int &cnt);
933 int drawShapeSkipScaleDownwind(uint8 *&dst,
const uint8 *&src,
int &cnt);
934 void drawShapeProcessLineNoScaleUpwind(uint8 *&dst,
const uint8 *&src,
const DsPlotFunc plot,
int &cnt, int16);
935 void drawShapeProcessLineNoScaleDownwind(uint8 *&dst,
const uint8 *&src,
const DsPlotFunc plot,
int &cnt, int16);
936 void drawShapeProcessLineScaleUpwind(uint8 *&dst,
const uint8 *&src,
const DsPlotFunc plot,
int &cnt, int16 scaleState);
937 void drawShapeProcessLineScaleDownwind(uint8 *&dst,
const uint8 *&src,
const DsPlotFunc plot,
int &cnt, int16 scaleState);
939 void drawShapePlotType0(uint8 *dst, uint8 cmd);
940 void drawShapePlotType1(uint8 *dst, uint8 cmd);
941 void drawShapePlotType3_7(uint8 *dst, uint8 cmd);
942 void drawShapePlotType4(uint8 *dst, uint8 cmd);
943 void drawShapePlotType5(uint8 *dst, uint8 cmd);
944 void drawShapePlotType6(uint8 *dst, uint8 cmd);
945 void drawShapePlotType8(uint8 *dst, uint8 cmd);
946 void drawShapePlotType9(uint8 *dst, uint8 cmd);
947 void drawShapePlotType11_15(uint8 *dst, uint8 cmd);
948 void drawShapePlotType12(uint8 *dst, uint8 cmd);
949 void drawShapePlotType13(uint8 *dst, uint8 cmd);
950 void drawShapePlotType14(uint8 *dst, uint8 cmd);
951 void drawShapePlotType16(uint8 *dst, uint8 cmd);
952 void drawShapePlotType20(uint8 *dst, uint8 cmd);
953 void drawShapePlotType21(uint8 *dst, uint8 cmd);
954 void drawShapePlotType33(uint8 *dst, uint8 cmd);
955 void drawShapePlotType37(uint8 *dst, uint8 cmd);
956 void drawShapePlotType48(uint8 *dst, uint8 cmd);
957 void drawShapePlotType52(uint8 *dst, uint8 cmd);
959 const uint8 *_dsShapeFadingTable;
960 int _dsShapeFadingLevel;
961 const uint8 *_dsColorTable;
962 const uint8 *_dsTransparencyTable1;
963 const uint8 *_dsTransparencyTable2;
964 const uint8 *_dsBackgroundFadingTable;
968 int _dsOffscreenLeft;
969 int _dsOffscreenRight;
972 int _dsOffscreenScaleVal1;
973 int _dsOffscreenScaleVal2;
980 int _dualPaletteModeSplitY;
void setColorMap(const uint8 *src) override
Definition: screen.h:203
int getNumColors() const
Definition: screen.h:514
uint8 * getData()
Definition: screen.h:573
int getHeight() const override
Definition: screen.h:309
bool load(Common::SeekableReadStream &) override
Definition: screen.h:234
int getHeight() const override
Definition: screen.h:168
bool usesOverlay() const override
Definition: screen.h:231
virtual void setStyles(int styles)
Definition: screen.h:140
Definition: kyra_v1.h:126
Type getType() const override
Definition: screen.h:199
RenderMode
Definition: rendermode.h:48
virtual Type getType() const override
Definition: screen.h:263
Definition: atari-screen.h:58
void setStyles(int style) override
Definition: screen.h:239
virtual bool usesOverlay() const
Definition: screen.h:87
int getHeight() const override
Definition: screen.h:200
Out copy(In first, In last, Out dst)
Definition: algorithm.h:52
virtual void set16bitColorMap(const uint16 *src)
Definition: screen.h:124
Definition: formatinfo.h:28
Type getType() const override
Definition: screen.h:167
int getCharHeight(uint16 c) const override
Definition: screen.h:271
void setStyles(int styles) override
Definition: screen.h:267
Type getType() const override
Definition: screen.h:417
void setColorMap(const uint8 *src) override
Definition: screen.h:171
Definition: detection.h:27
int getWidth() const override
Definition: screen.h:310
int getWidth() const override
Definition: screen.h:201
signed char * fill(signed char *first, signed char *last, Value val)
Definition: algorithm.h:168
Type getType() const override
Definition: screen.h:232
int getCharWidth(uint16 c) const override
Definition: screen.h:270
Type getType() const override
Definition: screen.h:427
Type getType() const override
Definition: screen.h:438
Type getType() const override
Definition: screen.h:308
int getWidth() const override
Definition: screen.h:169
CGAIntensity
Definition: screen.h:494
int getHeight() const override
Definition: screen.h:268
int getWidth() const override
Definition: screen.h:269
virtual int getCharHeight(uint16 c) const
Definition: screen.h:114