|
FifeGUI 0.3.0
A C++ GUI library designed for games.
|
#include <iconprogressbar.hpp>
Public Types | |
| enum class | Orientation : uint8_t { Horizontal = 0 , Vertical } |
| Public Types inherited from fcn::Widget | |
| enum | BorderSide : uint8_t { BORDER_NONE = 0 , BORDER_LEFT = 1 << 0 , BORDER_TOP = 1 << 1 , BORDER_RIGHT = 1 << 2 , BORDER_BOTTOM = 1 << 3 , BORDER_ALL = BORDER_LEFT | BORDER_TOP | BORDER_RIGHT | BORDER_BOTTOM } |
| enum | BorderStyle : uint8_t { BORDER_STYLE_BEVEL = 0 , BORDER_STYLE_FLAT = 1 } |
| enum class | SelectionMode : uint8_t { None = 0 , Border = 1 , Background = 2 } |
Public Member Functions | |
| void | adjustSize () override |
| void | advance () |
| void | draw (Graphics *graphics) override |
| int | getIconCount () const |
| Image const * | getImage () const |
| int | getMaxIcons () const |
| Orientation | getOrientation () const |
| IconProgressBar () | |
| IconProgressBar (IconProgressBar &&)=delete | |
| IconProgressBar (IconProgressBar const &)=delete | |
| IconProgressBar (Image *image, int maxIcons) | |
| IconProgressBar (std::string const &filename, int maxIcons) | |
| bool | isOpaque () const |
| IconProgressBar & | operator= (IconProgressBar &&)=delete |
| IconProgressBar & | operator= (IconProgressBar const &)=delete |
| void | reset () |
| void | resizeToContent (bool recursion=true) override |
| void | setIconCount (int icons) |
| void | setImage (Image *image) |
| void | setMaxIcons (int maxIcons) |
| void | setOpaque (bool opaque) |
| void | setOrientation (Orientation orientation) |
| Public Member Functions inherited from fcn::Widget | |
| virtual void | _draw (Graphics *graphics) |
| virtual FocusHandler * | _getFocusHandler () |
| virtual std::list< FocusListener * > const & | _getFocusListeners () |
| virtual FocusHandler * | _getInternalFocusHandler () |
| virtual std::list< KeyListener * > const & | _getKeyListeners () |
| virtual std::list< MouseListener * > const & | _getMouseListeners () |
| virtual void | _logic () |
| virtual void | _setFocusHandler (FocusHandler *focusHandler) |
| virtual void | _setParent (Widget *parent) |
| void | adaptLayout () |
| virtual void | adaptLayout (bool top) |
| void | addActionListener (ActionListener *actionListener) |
| void | addDeathListener (DeathListener *deathListener) |
| void | addDropTargetListener (DropTargetListener *listener) |
| void | addFocusListener (FocusListener *focusListener) |
| void | addKeyListener (KeyListener *keyListener) |
| void | addMouseListener (MouseListener *mouseListener) |
| void | addWidgetListener (WidgetListener *widgetListener) |
| bool | captureMouse () |
| bool | contains (int x, int y) const |
| virtual void | drawBorder (Graphics *graphics) |
| void | drawBorder (Graphics *graphics, unsigned int sides) const |
| virtual void | drawOutline (Graphics *graphics) |
| virtual void | drawSelectionFrame (Graphics *graphics) |
| void | expandContent () |
| virtual void | expandContent (bool recursion) |
| virtual void | focusNext () |
| virtual void | focusPrevious () |
| virtual void | fontChanged () |
| virtual void | getAbsolutePosition (int &x, int &y) const |
| std::string const & | getActionEventId () const |
| Color const & | getBackgroundColor () const |
| Color const & | getBaseColor () const |
| Color const & | getBorderColor () const |
| unsigned int | getBorderSides () const |
| unsigned int | getBorderSize () const |
| unsigned int | getBorderStyle () const |
| virtual Rectangle | getChildrenArea () |
| unsigned int | getChildrenCount () const |
| Rectangle const & | getDimension () const |
| Size const & | getFixedSize () const |
| Font * | getFont () const |
| Color const & | getForegroundColor () const |
| int | getHeight () const |
| std::string const & | getId () const |
| void | getLastPosition (int &x, int &y) const |
| int | getMarginBottom () const |
| int | getMarginLeft () const |
| int | getMarginRight () const |
| int | getMarginTop () const |
| Size const & | getMaxSize () const |
| Size const & | getMinSize () const |
| Color const & | getOutlineColor () const |
| unsigned int | getOutlineSize () const |
| unsigned int | getPaddingBottom () const |
| unsigned int | getPaddingLeft () const |
| unsigned int | getPaddingRight () const |
| unsigned int | getPaddingTop () const |
| virtual Widget * | getParent () const |
| Color const & | getSelectionColor () const |
| SelectionMode | getSelectionMode () const |
| virtual Widget * | getTop () const |
| unsigned int | getVisibleChildrenCount () const |
| Widget * | getWidgetAt (int x, int y) |
| virtual Widget * | getWidgetAt (int x, int y, Widget *exclude) |
| std::list< Widget * > | getWidgetsIn (Rectangle const &area) |
| virtual std::list< Widget * > | getWidgetsIn (Rectangle const &area, Widget *ignore) |
| int | getWidth () const |
| int | getX () const |
| int | getY () const |
| bool | hasMouseCapture () const |
| bool | isDescendantOf (Widget const *ancestor) const noexcept |
| bool | isEnabled () const |
| bool | isFixedSize () const |
| bool | isFocusable () const |
| virtual bool | isFocused () const |
| bool | isHorizontalExpand () const |
| bool | isInsideActiveMouseModal () const noexcept |
| bool | isLastPositionSet () const |
| virtual bool | isLayouted () |
| virtual bool | isModalFocusable () const |
| virtual bool | isModalFocused () const |
| virtual bool | isModalMouseInputFocusable () const |
| bool | isMouseInside (MouseEvent const &mouseEvent) const |
| bool | isSetVisible () const |
| bool | isTabInEnabled () const |
| bool | isTabOutEnabled () const |
| virtual bool | isUnderMouseModal () const |
| bool | isVerticalExpand () const |
| bool | isVisible () const |
| virtual void | logic () |
| virtual void | moveToBottom (Widget *widget) |
| virtual void | moveToTop (Widget *widget) |
| virtual void | onFocusChanged () |
| virtual void | onFocusGained () |
| virtual void | onFocusLost () |
| Widget & | operator= (Widget &&)=delete |
| Widget & | operator= (Widget const &)=delete |
| void | releaseMouse () |
| void | removeActionListener (ActionListener *actionListener) |
| void | removeDeathListener (DeathListener *deathListener) |
| void | removeDropTargetListener (DropTargetListener *listener) |
| void | removeFocusListener (FocusListener *focusListener) |
| void | removeKeyListener (KeyListener *keyListener) |
| void | removeMouseListener (MouseListener *mouseListener) |
| void | removeWidgetListener (WidgetListener *widgetListener) |
| virtual void | requestFocus () |
| virtual void | requestMoveToBottom () |
| virtual void | requestMoveToTop () |
| void | setActionEventId (std::string const &actionEventId) |
| virtual void | setBackgroundColor (Color const &color) |
| virtual void | setBaseColor (Color const &color) |
| void | setBorderBottom (unsigned int size, unsigned int style) |
| virtual void | setBorderColor (Color const &color) |
| void | setBorderSides (unsigned int sides) |
| void | setBorderSize (unsigned int size) |
| void | setBorderStyle (unsigned int style) |
| void | setBorderTop (unsigned int size, unsigned int style) |
| virtual void | setDimension (Rectangle const &dimension) |
| void | setEnabled (bool enabled) |
| void | setFixedSize (Size const &size) |
| void | setFocusable (bool focusable) |
| virtual void | setFocused (bool focused) |
| virtual void | setFont (Font *font) |
| virtual void | setForegroundColor (Color const &color) |
| virtual void | setHeight (int height) |
| void | setHorizontalExpand (bool expand) |
| void | setId (std::string const &id) |
| void | setInternalFocusHandler (FocusHandler *internalFocusHandler) |
| void | setLastPosition (int x, int y) |
| void | setMargin (int margin) |
| void | setMarginBottom (int margin) |
| void | setMarginLeft (int margin) |
| void | setMarginRight (int margin) |
| void | setMarginTop (int margin) |
| void | setMaxSize (Size const &size) |
| void | setMinSize (Size const &size) |
| virtual void | setOutlineColor (Color const &color) |
| void | setOutlineSize (unsigned int size) |
| void | setPadding (unsigned int padding) |
| void | setPaddingBottom (unsigned int padding) |
| void | setPaddingLeft (unsigned int padding) |
| void | setPaddingRight (unsigned int padding) |
| void | setPaddingTop (unsigned int padding) |
| void | setPosition (int x, int y) |
| virtual void | setSelectionColor (Color const &color) |
| virtual void | setSelectionMode (SelectionMode mode) |
| virtual void | setSize (int width, int height) |
| void | setTabInEnabled (bool enabled) |
| void | setTabOutEnabled (bool enabled) |
| void | setVerticalExpand (bool expand) |
| void | setVisible (bool visible) |
| virtual void | setWidth (int width) |
| void | setX (int x) |
| void | setY (int y) |
| virtual void | showPart (Rectangle rectangle) |
| virtual void | showWidgetPart (Widget *widget, Rectangle area) |
| virtual void | textInput (TextInputEvent &event) |
| Widget () | |
| Widget (Widget &&)=delete | |
| Widget (Widget const &)=delete | |
Protected Member Functions | |
| void | adjustSizeImpl () |
| Protected Member Functions inherited from fcn::Widget | |
| void | add (Widget *widget) |
| void | calculateSize () |
| void | distributeActionEvent () |
| void | distributeAncestorHiddenEvent (Widget *ancestor) |
| void | distributeAncestorMovedEvent (Widget *ancestor) |
| void | distributeAncestorShownEvent (Widget *ancestor) |
| void | distributeDragDrop (DragEvent &event) |
| bool | distributeDragEnter (DragEvent &event) |
| void | distributeDragHover (DragEvent &event) |
| void | distributeDragLeave (DragEvent &event) |
| void | distributeHiddenEvent () |
| void | distributeMovedEvent () |
| void | distributeResizedEvent () |
| void | distributeShownEvent () |
| virtual Widget * | findWidgetById (std::string const &id) |
| std::list< Widget * > const & | getChildren () const |
| virtual void | remove (Widget *widget) |
| virtual void | removeAllChildren () |
| void | resizeToChildren () |
Protected Attributes | |
| int | mIconCounter {0} |
| Image const * | mImage |
| bool | mInternalImage {false} |
| int | mMaxIcons {0} |
| bool | mOpaque {true} |
| Orientation | mOrientation {Orientation::Horizontal} |
| Protected Attributes inherited from fcn::Widget | |
| std::string | mActionEventId |
| std::list< ActionListener * > | mActionListeners |
| Color | mBackgroundColor {0xf9fafb} |
| Color | mBaseColor {0xe5e7eb} |
| Color | mBorderColor {0xd1d5db} |
| unsigned int | mBorderSides {BORDER_ALL} |
| unsigned int | mBorderSize {0} |
| unsigned int | mBorderStyle {BORDER_STYLE_FLAT} |
| std::list< Widget * > | mChildren |
| Font * | mCurrentFont {nullptr} |
| std::list< DeathListener * > | mDeathListeners |
| Rectangle | mDimension |
| std::list< DropTargetListener * > | mDropTargetListeners |
| bool | mEnabled {true} |
| Size | mFixedSize {-1, -1} |
| bool | mFixedSizeUsed {false} |
| bool | mFocusable {false} |
| bool | mFocused {false} |
| FocusHandler * | mFocusHandler {nullptr} |
| std::list< FocusListener * > | mFocusListeners |
| Color | mForegroundColor {0x1f2933} |
| bool | mHExpand {false} |
| std::string | mId |
| FocusHandler * | mInternalFocusHandler {nullptr} |
| std::list< KeyListener * > | mKeyListeners |
| int | mLastX {0} |
| int | mLastY {0} |
| int | mMarginBottom {0} |
| int | mMarginLeft {0} |
| int | mMarginRight {0} |
| int | mMarginTop {0} |
| Size | mMaxSize {std::numeric_limits<int>::max(), std::numeric_limits<int>::max()} |
| Size | mMinSize {0, 0} |
| std::list< MouseListener * > | mMouseListeners |
| Rectangle | mOffsetRect |
| Color | mOutlineColor {0x9ca3af} |
| unsigned int | mOutlineSize {0} |
| unsigned int | mPaddingBottom {0} |
| unsigned int | mPaddingLeft {0} |
| unsigned int | mPaddingRight {0} |
| unsigned int | mPaddingTop {0} |
| Widget * | mParent {nullptr} |
| Color | mSelectionColor {0x3b82f6} |
| SelectionMode | mSelectionMode {SelectionMode::None} |
| bool | mTabIn {true} |
| bool | mTabOut {true} |
| bool | mVExpand {false} |
| bool | mVisible {true} |
| std::list< WidgetListener * > | mWidgetListeners |
Additional Inherited Members | |
| Static Public Member Functions inherited from fcn::Widget | |
| static DeathListener * | _getGuiDeathListener () |
| static VisibilityEventHandler * | _getVisibilityEventHandler () |
| static void | _setGuiDeathListener (DeathListener *deathListener) |
| static void | _setVisibilityEventHandler (VisibilityEventHandler *visibilityEventHandler) |
| static Widget * | getMouseCapture () |
| static void | resetGlobalFont () |
| static void | setGlobalFont (Font *font) |
| static bool | widgetExists (Widget const *widget) |
| Static Protected Attributes inherited from fcn::Widget | |
| static DefaultFont | mDefaultFont |
| static Font * | mGlobalFont = nullptr |
| static DeathListener * | mGuiDeathListener = nullptr |
| static VisibilityEventHandler * | mVisibilityEventHandler = nullptr |
| static std::list< Widget * > | mWidgetInstances |
| static Widget * | sMouseCapture = nullptr |
Displays progress using a sequence of icons.
Definition at line 25 of file iconprogressbar.hpp.
|
strong |
Orientation of the IconProgressBar (horizontal or vertical).
Definition at line 31 of file iconprogressbar.hpp.
| fcn::IconProgressBar::IconProgressBar | ( | ) |
| fcn::IconProgressBar::IconProgressBar | ( | Image * | image, |
| int | maxIcons ) |
Constructor.
The image passed is not owned by this object.
| image | Image used by the progress bar's icons. |
| maxIcons | Count of icons when the progress bar is full. |
Definition at line 23 of file iconprogressbar.cpp.
References adjustSizeImpl(), mImage, and mMaxIcons.
| fcn::IconProgressBar::IconProgressBar | ( | std::string const & | filename, |
| int | maxIcons ) |
Constructor.
The image indicated by filename is opened and it's owned by this object.
| filename | Filename of the image to be used by the progress bar's icons. |
| maxIcons | Count of icons when the progress bar is full. |
Definition at line 28 of file iconprogressbar.cpp.
References adjustSizeImpl(), mImage, mInternalImage, and mMaxIcons.
|
override |
Definition at line 34 of file iconprogressbar.cpp.
|
overridevirtual |
Resizes the widget's size to fit the content exactly.
Reimplemented from fcn::Widget.
Definition at line 170 of file iconprogressbar.cpp.
References adjustSizeImpl().
|
protected |
Adjusts the size of the IconProgressBar to fit the icons.
The public adjustSize() method serves as a virtual entry point for polymorphism, while this adjustSizeImpl() method contains the concrete implementation of the resizing logic.
Definition at line 175 of file iconprogressbar.cpp.
References fcn::Widget::getBorderSize(), fcn::Widget::getPaddingBottom(), fcn::Widget::getPaddingLeft(), fcn::Widget::getPaddingRight(), fcn::Widget::getPaddingTop(), mImage, mMaxIcons, mOrientation, and fcn::Widget::setSize().
Referenced by adjustSize(), IconProgressBar(), IconProgressBar(), resizeToContent(), setImage(), setMaxIcons(), and setOrientation().
| void fcn::IconProgressBar::advance | ( | ) |
Advances the progress bar by one icon.
If the maximum number of icons is reached (maxIcons reached), the counter wraps to 0, allowing the progress bar to loop.
Definition at line 143 of file iconprogressbar.cpp.
References mIconCounter, and mMaxIcons.
|
overridevirtual |
Draws this IconProgressBar.
Implements fcn::Widget.
Definition at line 41 of file iconprogressbar.cpp.
References fcn::Widget::drawBorder(), fcn::Graphics::drawImage(), fcn::Widget::drawSelectionFrame(), fcn::Graphics::fillRectangle(), fcn::Widget::getBackgroundColor(), fcn::Widget::getBorderSize(), fcn::Widget::getHeight(), fcn::Widget::getPaddingLeft(), fcn::Widget::getPaddingTop(), fcn::Widget::getSelectionColor(), fcn::Widget::getSelectionMode(), fcn::Widget::getWidth(), fcn::Widget::isFocused(), isOpaque(), mIconCounter, mImage, mOrientation, and fcn::Graphics::setColor().
| int fcn::IconProgressBar::getIconCount | ( | ) | const |
Definition at line 159 of file iconprogressbar.cpp.
References mIconCounter.
| Image const * fcn::IconProgressBar::getImage | ( | ) | const |
Definition at line 109 of file iconprogressbar.cpp.
References mImage.
| int fcn::IconProgressBar::getMaxIcons | ( | ) | const |
Definition at line 121 of file iconprogressbar.cpp.
References mMaxIcons.
| IconProgressBar::Orientation fcn::IconProgressBar::getOrientation | ( | ) | const |
Definition at line 138 of file iconprogressbar.cpp.
References mOrientation.
| bool fcn::IconProgressBar::isOpaque | ( | ) | const |
Definition at line 92 of file iconprogressbar.cpp.
References mOpaque.
Referenced by draw().
| void fcn::IconProgressBar::reset | ( | ) |
Resets the progress bar.
Definition at line 149 of file iconprogressbar.cpp.
References mIconCounter.
|
overridevirtual |
Resizes the widget's size to fit the content exactly, calls recursively all childs.
The default value true allows callers to use resizeToContent() without argument.
| recursion | If true, perform the resize operation recursively on children. |
Reimplemented from fcn::Widget.
Definition at line 164 of file iconprogressbar.cpp.
References adjustSizeImpl().
| void fcn::IconProgressBar::setIconCount | ( | int | icons | ) |
Sets count of icons.
| icons | The count of the active icons. |
Definition at line 154 of file iconprogressbar.cpp.
References mIconCounter, and mMaxIcons.
| void fcn::IconProgressBar::setImage | ( | Image * | image | ) |
Sets the IconProgressBar's image.
The image passed is not owned by this object.
| image | Image used by the progress bar's icons. |
Definition at line 97 of file iconprogressbar.cpp.
References adjustSizeImpl(), mImage, and mInternalImage.
| void fcn::IconProgressBar::setMaxIcons | ( | int | maxIcons | ) |
Sets count of icons when the progress bar is full.
Also creates enough icons to represent that.
| maxIcons | desired maximum count of icons. |
Definition at line 114 of file iconprogressbar.cpp.
References adjustSizeImpl(), and mMaxIcons.
| void fcn::IconProgressBar::setOpaque | ( | bool | opaque | ) |
Sets the opacity of the IconProgressBar.
| opaque | True if opaque, false otherwise. |
Definition at line 87 of file iconprogressbar.cpp.
References mOpaque.
| void fcn::IconProgressBar::setOrientation | ( | Orientation | orientation | ) |
Sets the IconProgressBar's orientation.
| orientation | Desired orientation. |
Definition at line 126 of file iconprogressbar.cpp.
References adjustSizeImpl(), mOrientation, and fcn::throwException().
|
protected |
Holds how many icons are currently displayed.
Definition at line 190 of file iconprogressbar.hpp.
Referenced by advance(), draw(), getIconCount(), reset(), and setIconCount().
|
protected |
Image used by the progress bar.
Definition at line 173 of file iconprogressbar.hpp.
Referenced by adjustSizeImpl(), draw(), getImage(), IconProgressBar(), IconProgressBar(), IconProgressBar(), and setImage().
|
protected |
True if the image has been loaded internally, false otherwise.
An image not loaded internally should not be deleted in the destructor.
Definition at line 180 of file iconprogressbar.hpp.
Referenced by IconProgressBar(), and setImage().
|
protected |
Count of icons when progress bar is full.
Definition at line 185 of file iconprogressbar.hpp.
Referenced by adjustSizeImpl(), advance(), getMaxIcons(), IconProgressBar(), IconProgressBar(), setIconCount(), and setMaxIcons().
|
protected |
True if the widget is opaque, false otherwise.
Definition at line 200 of file iconprogressbar.hpp.
Referenced by isOpaque(), and setOpaque().
|
protected |
IconProgressBar's orientation.
Definition at line 195 of file iconprogressbar.hpp.
Referenced by adjustSizeImpl(), draw(), getOrientation(), and setOrientation().