ScummVM API documentation
GUI::ConsoleDialog Class Reference
Inheritance diagram for GUI::ConsoleDialog:
GUI::Dialog GUI::GuiObject GUI::CommandReceiver

Public Types

typedef bool(* InputCallbackProc) (ConsoleDialog *console, const char *input, void *refCon)
 
typedef bool(* CompletionCallbackProc) (ConsoleDialog *console, const char *input, Common::String &completion, void *refCon)
 

Public Member Functions

 ConsoleDialog (float widthPercent, float heightPercent)
 
void open () override
 
void close () override
 
void drawDialog (DrawLayer layerToDraw) override
 
void handleTickle () override
 
void reflowLayout () override
 
void handleMouseWheel (int x, int y, int direction) override
 
void handleKeyDown (Common::KeyState state) override
 
void handleCommand (CommandSender *sender, uint32 cmd, uint32 data) override
 
void handleOtherEvent (const Common::Event &evt) override
 
void handleMouseDown (int x, int y, int button, int clickCount) override
 
void handleMouseMoved (int x, int y, int button) override
 
void handleMouseUp (int x, int y, int button, int clickCount) override
 
int printFormat (int dummy, MSVC_PRINTF const char *format,...) GCC_PRINTF(3
 
int int vprintFormat (int dummy, const char *format, va_list argptr)
 
void printChar (int c)
 
void setInputCallback (InputCallbackProc proc, void *refCon)
 
void setCompletionCallback (CompletionCallbackProc proc, void *refCon)
 
int getCharsPerLine ()
 
void setPrompt (Common::String prompt)
 
void resetPrompt ()
 
void clearBuffer ()
 
- Public Member Functions inherited from GUI::Dialog
 Dialog (int x, int y, int w, int h, bool scale=false)
 
 Dialog (const Common::String &name)
 
virtual int runModal ()
 
bool isVisible () const override
 
bool isMouseUpdatedOnFocus () const
 
void releaseFocus () override
 
void setFocusWidget (Widget *widget)
 
WidgetgetFocusWidget ()
 
bool isDragging () const
 
void setTickleWidget (Widget *widget)
 
void unSetTickleWidget ()
 
WidgetgetTickleWidget ()
 
void reflowLayout () override
 
virtual void lostFocus ()
 
virtual void receivedFocus (int x=-1, int y=-1)
 
- Public Member Functions inherited from GUI::GuiObject
 GuiObject (int x, int y, int w, int h, bool scale=false)
 
 GuiObject (const Common::String &name)
 
virtual void setTextDrawableArea (const Common::Rect &r)
 
virtual void resize (int x, int y, int w, int h, bool scale=true)
 
virtual WidgetaddChild (Widget *newChild)
 
virtual int16 getRelX () const
 
virtual int16 getRelY () const
 
virtual int16 getAbsX () const
 
virtual int16 getAbsY () const
 
virtual int16 getChildX () const
 
virtual int16 getChildY () const
 
virtual uint16 getWidth () const
 
virtual uint16 getHeight () const
 
virtual bool isPointIn (int x, int y)
 
virtual Common::Rect getClipRect () const
 
virtual void handleTooltipUpdate (int x, int y)
 

Protected Types

enum  { kCharsPerLine = 128, kBufferSize = kCharsPerLine * 1024, kHistorySize = 20, kDraggingTime = 10 }
 
enum  SlideMode { kNoSlideMode, kUpSlideMode, kDownSlideMode }
 

Protected Member Functions

void loadHistory ()
 
void saveHistory ()
 
void slideUpAndClose ()
 
char & buffer (int idx)
 
void init ()
 
int pos2line (int pos)
 
void drawLine (int line)
 
void drawCaret (bool erase)
 
void printCharIntern (int c)
 
void insertIntoPrompt (const char *str)
 
void print (const char *str)
 
void updateScrollBuffer ()
 
void scrollToCurrent ()
 
Common::String getUserInput ()
 
void defaultKeyDownHandler (Common::KeyState &state)
 
void specialKeys (Common::KeyCode keycode)
 
void nextLine ()
 
void killChar ()
 
void killLine ()
 
void killLastWord ()
 
void addToHistory (const Common::String &str)
 
void historyScroll (int direction)
 
- Protected Member Functions inherited from GUI::Dialog
void markWidgetsAsDirty ()
 
void drawWidgets ()
 
virtual void handleKeyUp (Common::KeyState state)
 
virtual void handleMouseLeft (int button)
 
void handleCommand (CommandSender *sender, uint32 cmd, uint32 data) override
 
WidgetfindWidget (int x, int y)
 
WidgetfindWidget (const char *name)
 
void removeWidget (Widget *widget) override
 
void setMouseUpdatedOnFocus (bool mouseUpdatedOnFocus)
 
void setDefaultFocusedWidget ()
 
void setResult (int result)
 
int getResult () const
 

Protected Attributes

const Graphics::Font_font
 
char _buffer [kBufferSize]
 
int _linesInBuffer
 
int _pageWidth
 
int _linesPerPage
 
int _currentPos
 
int _scrollLine
 
int _firstLineInBuffer
 
int _promptStartPos
 
int _promptEndPos
 
bool _caretVisible
 
uint32 _caretTime
 
uint32 _selectionTime
 
SlideMode _slideMode
 
uint32 _slideTime
 
ScrollBarWidget_scrollBar
 
InputCallbackProc _callbackProc
 
void * _callbackRefCon
 
CompletionCallbackProc _completionCallbackProc
 
void * _completionCallbackRefCon
 
Common::String _history [kHistorySize]
 
int _historySize
 
int _historyIndex
 
int _historyLine
 
float _widthPercent
 
float _heightPercent
 
int _leftPadding
 
int _rightPadding
 
int _topPadding
 
int _bottomPadding
 
Common::String _prompt
 
bool _isDragging
 
int _selBegin
 
int _selEnd
 
int _scrollDirection
 
- Protected Attributes inherited from GUI::Dialog
Widget_mouseWidget
 
Widget_focusedWidget
 
Widget_dragWidget
 
Widget_tickleWidget
 
bool _visible
 
bool _mouseUpdatedOnFocus
 
ThemeEngine::DialogBackground _backgroundType
 
- Protected Attributes inherited from GUI::GuiObject
Common::Rect _textDrawableArea
 
int16 _x
 
int16 _y
 
uint16 _w
 
uint16 _h
 
bool _useRTL
 
const Common::String _name
 
Widget_firstWidget
 

Member Function Documentation

◆ drawDialog()

void GUI::ConsoleDialog::drawDialog ( DrawLayer  layerToDraw)
overridevirtual

Draw the dialog in its entirety (background and widgets)

Reimplemented from GUI::Dialog.


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