ScummVM API documentation
Scumm::MacGuiImpl Class Referenceabstract
Inheritance diagram for Scumm::MacGuiImpl:
Scumm::MacIndy3Gui Scumm::MacLoomGui

Classes

class  MacButton
 
class  MacCheckbox
 
class  MacDialogWindow
 
class  MacEditText
 
class  MacGuiObject
 
class  MacListBox
 
class  MacPicture
 
class  MacPictureSlider
 
class  MacSlider
 
class  MacSliderBase
 
class  MacStaticText
 
class  MacWidget
 
struct  TextLine
 

Public Member Functions

 MacGuiImpl (ScummEngine *vm, const Common::Path &resourceFile)
 
Graphics::Surfacesurface ()
 
virtual const Common::String name () const =0
 
int toMacRoman (int unicode) const
 
void setPalette (const byte *palette, uint size)
 
virtual bool handleEvent (Common::Event event)
 
virtual void initialize ()
 
void updateWindowManager ()
 
const Graphics::FontgetFont (FontId fontId)
 
virtual const Graphics::FontgetFontByScummId (int32 id)=0
 
Graphics::SurfaceloadPict (int id)
 
virtual bool isVerbGuiActive () const
 
virtual void reset ()
 
virtual void resetAfterLoad ()=0
 
virtual void update (int delta)=0
 
bool runQuitDialog ()
 
bool runRestartDialog ()
 
virtual void setupCursor (int &width, int &height, int &hotspotX, int &hotspotY, int &animate)=0
 
virtual Graphics::SurfacetextArea ()
 
virtual void clearTextArea ()
 
virtual void initTextAreaForActor (Actor *a, byte color)
 
virtual void printCharToTextArea (int chr, int x, int y, int color)
 
MacDialogWindowcreateWindow (Common::Rect bounds, MacDialogWindowStyle style=kStyleNormal)
 
MacDialogWindowcreateDialog (int dialogId)
 
void drawBanner (char *message)
 
void undrawBanner ()
 
void drawBitmap (Graphics::Surface *s, Common::Rect r, const uint16 *bitmap, Color color) const
 

Static Public Member Functions

static void menuCallback (int id, Common::String &name, void *data)
 

Public Attributes

Graphics::MacWindowManager_windowManager = nullptr
 
bool _forceMenuClosed = false
 

Protected Types

enum  DelayStatus { kDelayDone = 0, kDelayInterrupted = 1, kDelayAborted }
 
enum  Color {
  kBlack = 0, kBlue = 1, kGreen = 2, kCyan = 3,
  kRed = 4, kMagenta = 5, kBrown = 6, kLightGray = 7,
  kDarkGray = 8, kBrightBlue = 9, kBrightGreen = 10, kBrightCyan = 11,
  kBrightRed = 12, kBrightMagenta = 13, kBrightYellow = 14, kWhite = 15,
  kCustomColor = 100, kBackground = 254, kTransparency = 255
}
 
enum  FontId {
  kSystemFont, kAboutFontRegular, kAboutFontBold, kAboutFontExtraBold,
  kAboutFontHeaderInside, kAboutFontHeaderOutside, kIndy3FontSmall, kIndy3FontMedium,
  kIndy3VerbFontRegular, kIndy3VerbFontBold, kIndy3VerbFontOutline, kLoomFontSmall,
  kLoomFontMedium, kLoomFontLarge
}
 
enum  TextStyle { kStyleHeader, kStyleBold, kStyleExtraBold, kStyleRegular }
 
enum  MacDialogWindowStyle { kStyleNormal, kStyleRounded }
 

Protected Member Functions

MacGuiImpl::DelayStatus delay (uint32 ms=0)
 
virtual bool getFontParams (FontId fontId, int &id, int &size, int &slant) const
 
Common::String getDialogString (Common::SeekableReadStream *res, int len)
 
virtual bool handleMenu (int id, Common::String &name)
 
virtual void runAboutDialog ()=0
 
virtual bool runOpenDialog (int &saveSlotToHandle)=0
 
virtual bool runSaveDialog (int &saveSlotToHandle, Common::String &name)=0
 
virtual bool runOptionsDialog ()=0
 
void prepareSaveLoad (Common::StringArray &savegameNames, bool *availSlots, int *slotIds, int size)
 
bool runOkCancelDialog (Common::String text)
 

Protected Attributes

ScummEngine_vm = nullptr
 
OSystem_system = nullptr
 
Graphics::Surface_surface = nullptr
 
MacGuiImpl::MacDialogWindow_bannerWindow = nullptr
 
Common::Path _resourceFile
 
bool _menuIsActive = false
 
bool _cursorWasVisible = false
 
Common::HashMap< int, const Graphics::Font * > _fonts
 
int _gameFontId = -1
 
byte _unicodeToMacRoman [96]
 

The documentation for this class was generated from the following file: