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, bool resetClipping=true) 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
 
void releaseFocus () override
 
void setFocusWidget (Widget *widget)
 
Widget * getFocusWidget ()
 
bool isDragging () const
 
void reflowLayout () override
 
virtual void lostFocus ()
 
virtual void receivedFocus (int x=-1, int y=-1)
 
virtual void open ()
 
virtual void close ()
 
Widget * findWidget (uint32 type)
 
- 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 Widget * addChild (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 isVisible () const =0
 
virtual void reflowLayout ()
 
virtual void removeWidget (Widget *widget)
 
virtual bool isPointIn (int x, int y)
 
virtual Common::Rect getClipRect () const
 

Protected Types

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

Protected Member Functions

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 loadHistory ()
 
void saveHistory ()
 
void addToHistory (const Common::String &str)
 
void historyScroll (int direction)
 
bool clampSelection (int &sel)
 
- Protected Member Functions inherited from GUI::Dialog
void markWidgetsAsDirty ()
 
Common::Rect getMaxDirtyRect () const
 
virtual void drawDialog (DrawLayer layerToDraw, bool resetClipping=true)
 
void drawWidgets ()
 
virtual void handleTickle ()
 
virtual void handleMouseDown (int x, int y, int button, int clickCount)
 
virtual void handleMouseUp (int x, int y, int button, int clickCount)
 
virtual void handleMouseWheel (int x, int y, int direction) override
 
virtual void handleKeyDown (Common::KeyState state)
 
virtual void handleKeyUp (Common::KeyState state)
 
virtual void handleMouseMoved (int x, int y, int button)
 
virtual void handleMouseLeft (int button)
 
virtual void handleOtherEvent (const Common::Event &evt)
 
void handleCommand (CommandSender *sender, uint32 cmd, uint32 data) override
 
Widget * findWidget (int x, int y)
 
Widget * findWidget (const char *name)
 
void removeWidget (Widget *widget) override
 
void setDefaultFocusedWidget ()
 
void registerTickleWidget (Widget *widget) override
 
void unregisterTickleWidget (Widget *widget) override
 
void setResult (int result)
 
int getResult () const
 
virtual void handleMouseWheel (int x, int y, int direction)=0
 
virtual void releaseFocus ()=0
 
virtual void registerTickleWidget (Widget *widget)=0
 
virtual void unregisterTickleWidget (Widget *widget)
 
virtual void handleCommand (CommandSender *sender, uint32 cmd, uint32 data)
 

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 * _dragHookWidget
 
Widget * _tickleWidget
 
bool _visible
 
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

◆ open()

void GUI::ConsoleDialog::open ( )
overridevirtual

Reimplemented from GUI::Dialog.

◆ close()

void GUI::ConsoleDialog::close ( )
overridevirtual

Reimplemented from GUI::Dialog.

◆ drawDialog()

void GUI::ConsoleDialog::drawDialog ( DrawLayer  layerToDraw,
bool  resetClipping = true 
)
overridevirtual

Draw the dialog in its entirety (background and widgets)

Reimplemented from GUI::Dialog.

◆ handleTickle()

void GUI::ConsoleDialog::handleTickle ( )
overridevirtual

Reimplemented from GUI::Dialog.

◆ reflowLayout()

void GUI::ConsoleDialog::reflowLayout ( )
overridevirtual

Reimplemented from GUI::GuiObject.

◆ handleMouseWheel()

void GUI::ConsoleDialog::handleMouseWheel ( int  x,
int  y,
int  direction 
)
overridevirtual

Reimplemented from GUI::Dialog.

◆ handleKeyDown()

void GUI::ConsoleDialog::handleKeyDown ( Common::KeyState  state)
overridevirtual

Reimplemented from GUI::Dialog.

◆ handleCommand()

void GUI::ConsoleDialog::handleCommand ( CommandSender *  sender,
uint32  cmd,
uint32  data 
)
overridevirtual

Reimplemented from GUI::CommandReceiver.

◆ handleOtherEvent()

void GUI::ConsoleDialog::handleOtherEvent ( const Common::Event &  evt)
overridevirtual

Reimplemented from GUI::Dialog.

◆ handleMouseDown()

void GUI::ConsoleDialog::handleMouseDown ( int  x,
int  y,
int  button,
int  clickCount 
)
overridevirtual

Reimplemented from GUI::Dialog.

◆ handleMouseMoved()

void GUI::ConsoleDialog::handleMouseMoved ( int  x,
int  y,
int  button 
)
overridevirtual

Reimplemented from GUI::Dialog.

◆ handleMouseUp()

void GUI::ConsoleDialog::handleMouseUp ( int  x,
int  y,
int  button,
int  clickCount 
)
overridevirtual

Reimplemented from GUI::Dialog.

◆ clampSelection()

bool GUI::ConsoleDialog::clampSelection ( int &  sel)
protected

Returns whether sel was modified


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