|
SuperTuxKart
|
A model view widget. More...
#include <model_view_widget.hpp>

Public Member Functions | |
| ModelViewWidget (unsigned rtt_size=512) | |
| void | add () |
| Implement callback from base class Widget. | |
| void | clearModels () |
| void | addModel (irr::scene::IMesh *mesh, const core::matrix4 &location=core::matrix4(), const int start_loop_frame=-1, const int end_loop_frame=-1, float animation_speed=0.0f, const std::string &bone_name=std::string()) |
| void | update (float delta) |
| Override in children to possibly receive updates (you may need to register to them first) | |
| void | setRTTSize (unsigned rtt_size) |
| virtual void | elementRemoved () |
| Called when irrLicht widgets cleared. More... | |
| void | setRotateOff () |
| Disables any model rotation. | |
| void | setRotateContinuously (float speed) |
| Makes the model rotate at given speed (in degrees per second) | |
| void | setRotateTo (float targetAngle, float speed) |
| Rotate to 'targetAngle' in degrees at given speed (in degrees per second) | |
| bool | isRotating () |
| Returns information if currently kart is rotating. | |
| void | clearRttProvider () |
| void | setupRTTScene () |
| void | drawRTTScene (const irr::core::rect< s32 > &dest_rect) const |
| std::shared_ptr< GE::GERenderInfo > | getModelViewRenderInfo () |
Public Member Functions inherited from GUIEngine::IconButtonWidget | |
| IconButtonWidget (ScaleMode scale_mode=SCALE_MODE_KEEP_TEXTURE_ASPECT_RATIO, const bool tab_stop=true, const bool focusable=true, IconPathType pathType=ICON_PATH_TYPE_RELATIVE) | |
| void | setCustomAspectRatio (float custom_aspect_ratio) |
| Call this if scale mode is SCALE_MODE_KEEP_CUSTOM_ASPECT_RATIO. More... | |
| void | setLabel (const irr::core::stringw &new_label) |
| Temporarily change the text label if there is a label (next time this screen is visited, the previous label will be back. More... | |
| void | setLabelFont (irr::gui::ScalableFont *font) |
| Sets the font used to draw the label. More... | |
| void | setImage (const char *path_to_texture, IconPathType path_type=ICON_PATH_TYPE_NO_CHANGE) |
| Change the texture used for this icon. More... | |
| void | setImage (const std::string &path_to_texture, IconPathType path_type=ICON_PATH_TYPE_NO_CHANGE) |
| Convenience function taking std::string. | |
| void | setImage (irr::video::ITexture *texture) |
| Change the texture used for this icon. More... | |
| void | setHighlightedImage (irr::video::ITexture *texture) |
| void | setTargetSize (float width, float height) |
| virtual EventPropagation | focused (const int playerID) OVERRIDE |
| override from base class | |
| virtual void | unfocused (const int playerID, Widget *new_focus) OVERRIDE |
| override from base class | |
| const video::ITexture * | getTexture () |
| Returns the texture of this button. | |
| virtual void | setVisible (bool visible) OVERRIDE |
| Sets the widget (and its children, if any) visible or not. More... | |
| virtual void | resize () OVERRIDE |
| Call to resize the widget after its coordinates are updated. | |
| const irr::core::rect< s32 > & | getListHeaderIconRect () const |
Public Member Functions inherited from GUIEngine::Widget | |
| Widget (WidgetType type, bool reserve_id=false) | |
| virtual void | setEventCallbackActive (Input::InputType type, bool active) |
| Allow (or not) an event callback for this widget based on input type. | |
| virtual bool | isEventCallbackActive (Input::InputType type) const |
| Return if there should be an event callback for this widget based on input type. | |
| void | setParent (irr::gui::IGUIElement *parent) |
| Set the irrlicht widget to be used as parent of this widget next time Widget::add() is invoked on this widget. | |
| virtual void | setCollapsed (bool collapsed, Screen *calling_screen=NULL) |
| Sets the widget (and its children, if any) collapsed or not. More... | |
| virtual void | setCollapsed (bool collapsed, int uncollapsed_height, Screen *calling_screen=NULL) |
| Sets the widget (and its children, if any) collapsed or not. More... | |
| bool | isVisible () const |
| Returns if the element is visible. | |
| bool | isCollapsed () const |
| Returns whether the element is collapsed (through setCollapsed). | |
| bool | isActivated () const |
| virtual EventPropagation | onActivationInput (const int playerID) |
| void | resetCoordinates () |
| Call to reset its coordinates before they are updated by layout manager. | |
| virtual void | move (const int x, const int y, const int w, const int h) |
| Move the widget to the given position. | |
| bool | isSelected (const int playerID) const |
| Get whether this widget is selected (only makes sense in some cases where a widget is part of a bigger widget, e.g. More... | |
| void | setSelected (const int playerID, bool state) |
| bool | isBottomBar () const |
| bool | isTopBar () const |
| bool | ok () const |
| virtual EventPropagation | onClick () |
| Gets called when the widget is active and got clicked. More... | |
| virtual irr::core::dimension2di | getDimension () const |
| virtual void | setActive (bool active=true) |
| Sets an widget to be either activated or deactivated (i.e. More... | |
| template<typename T > | |
| T * | getIrrlichtElement () |
| Get the underlying irrLicht GUI element, casted to the right type. | |
| template<typename T > | |
| const T * | getIrrlichtElement () const |
| Get the underlying irrLicht GUI element, casted to the right type; const version. | |
| irr::gui::IGUIElement * | getIrrlichtElement () |
| Get the underlying irrLicht GUI element. | |
| void | moveIrrlichtElement () |
| bool | isSameIrrlichtWidgetAs (const Widget *ref) const |
| virtual void | setText (const irr::core::stringw &s) |
| Sets the text of a widget from a wchar_t. More... | |
| const irr::core::stringw & | getText () const |
| Returns the text of a widget. | |
| WidgetType | getType () const |
| int | getID () const |
| Get the irrlicht widget ID attributed to this widget. More... | |
| std::string | getName () |
| Get the name used for this widget in the GUI files or set in the code Use only for debugging. | |
| bool | isFocusable () const |
| Get whether this object is allowed to receive focus. | |
| void | setFocusable (bool f) |
| void | setFocusForPlayer (const int playerID) |
| Focus the widget for the given player. More... | |
| bool | isFocusedForPlayer (const int playerID) |
| Find whether this widget is focused by a given player. More... | |
| void | unsetFocusForPlayer (const int playerID) |
| Internal method, do not call it. More... | |
| const PtrVector< Widget > & | getChildren () const |
| PtrVector< Widget > & | getChildren () |
| bool | deleteChild (const char *id) |
| removes and deletes the child with the given PROP_ID More... | |
| virtual EventPropagation | transmitEvent (Widget *w, const std::string &originator, const int playerID) |
| All widgets, including their parents (m_event_handler) will be notified on event through this call. More... | |
| bool | searchInsideMe () const |
| virtual int | getWidthNeededAroundLabel () const |
| When inferring widget size from its label length, this method will be called to if/how much space must be added to the raw label's size for the widget to be large enough. | |
| virtual int | getHeightNeededAroundLabel () const |
| When inferring widget size from its label length, this method will be called to if/how much space must be added to the raw label's size for the widget to be large enough. | |
| void | setBadge (BadgeType badge_bit) |
| adds a particular badge to this widget. More... | |
| void | unsetBadge (BadgeType badge_bit) |
| removes a particular bade from this widget, if it had it. More... | |
| void | resetAllBadges () |
| sets this widget to have no badge More... | |
| int | getBadges () const |
| Get which badges are currently on this widget. More... | |
| bool | hasTooltip () const |
| irr::core::stringw | getTooltipText () const |
| Only call if hasTooltip() returned true. | |
| void | setTooltip (irr::core::stringw s) |
Private Types | |
| enum | RotationMode { ROTATE_OFF , ROTATE_CONTINUOUSLY , ROTATE_TO } |
Private Attributes | |
| RotationMode | m_rotation_mode |
| float | m_rotation_speed |
| float | m_rotation_target |
| PtrVector< scene::IMesh, REF > | m_models |
| std::vector< core::matrix4 > | m_model_location |
| std::vector< std::pair< int, int > > | m_model_frames |
| std::vector< float > | m_model_animation_speed |
| std::vector< std::string > | m_bone_attached |
| std::unique_ptr< RenderTarget > | m_render_target |
| float | m_angle |
| bool | m_rtt_unsupported |
| scene::ISceneNode * | m_rtt_main_node |
| scene::ICameraSceneNode * | m_camera |
| scene::ISceneNode * | m_light |
| std::shared_ptr< GE::GERenderInfo > | m_render_info |
| unsigned | m_rtt_size |
Additional Inherited Members | |
Public Types inherited from GUIEngine::IconButtonWidget | |
| enum | ScaleMode { SCALE_MODE_STRETCH , SCALE_MODE_LIST_WIDGET , SCALE_MODE_KEEP_TEXTURE_ASPECT_RATIO , SCALE_MODE_KEEP_CUSTOM_ASPECT_RATIO } |
| enum | IconPathType { ICON_PATH_TYPE_ABSOLUTE , ICON_PATH_TYPE_RELATIVE , ICON_PATH_TYPE_NO_CHANGE } |
Static Public Member Functions inherited from GUIEngine::Widget | |
| static void | resetIDCounters () |
| When switching to a new screen, this function will be called to reset ID counters (so we start again from ID 0, and don't grow to big numbers) | |
| static int | getNewID () |
| Provides a new unique ID on each call, for widgets that can be focused. | |
| static int | getNewNoFocusID () |
| Provides a new unique ID on each call, for widgets that can not be focused. | |
| static bool | isFocusableId (const int id) |
| get whether the given ID represents an ID of a widget that can be focused More... | |
Public Attributes inherited from GUIEngine::IconButtonWidget | |
| bool | m_tab_stop |
| Whether to make the widget included in keyboard navigation order when adding. | |
Public Attributes inherited from GUIEngine::Widget | |
| Widget * | m_event_handler |
| This is set to NULL by default; set to something else in a widget to mean that events happening on this widget should also be passed to m_event_handler->transmitEvent, which is usually the parent analysing events from its children. More... | |
| bool | m_supports_multiplayer |
| Whether this widget supports multiplayer interaction (i.e. More... | |
| int | m_tab_down_root |
| Instead of searching for widget IDs smaller/greater than that of this object, navigation through widgets will start from these IDs (if they are set). | |
| int | m_tab_up_root |
| Instead of searching for widget IDs smaller/greater than that of this object, navigation through widgets will start from these IDs (if they are set). | |
| int | m_x |
| Coordinates of the widget once added (the difference between those x/h and PROP_WIDTH/PROP_HEIGHT is that the props are read in raw form from the XML file; PROP_WIDTH can then be e.g. More... | |
| int | m_y |
| int | m_w |
| int | m_h |
| bool | m_show_bounding_box |
| Whether to show a bounding box around this widget (used for sections) | |
| bool | m_is_bounding_box_round |
| Only used if m_show_bounding_box is true. | |
| int | m_reserved_id |
| Used in two cases : 1) For 'placeholder' divisions; at the time the layout is created, there is nothing to place there yet, but we know there eventually will. More... | |
| std::map< Property, std::string > | m_properties |
| A map that holds values for all specified widget properties (in the XML file) More... | |
Public Attributes inherited from GUIEngine::SkinWidgetContainer | |
| int | m_skin_x |
| int | m_skin_y |
| int | m_skin_w |
| int | m_skin_h |
| bool | m_skin_dest_areas_inited |
| bool | m_skin_dest_areas_yflip_inited |
| int | m_skin_dest_x |
| int | m_skin_dest_y |
| int | m_skin_dest_x2 |
| int | m_skin_dest_y2 |
| core::rect< s32 > | m_skin_dest_area_left |
| core::rect< s32 > | m_skin_dest_area_center |
| core::rect< s32 > | m_skin_dest_area_right |
| core::rect< s32 > | m_skin_dest_area_top |
| core::rect< s32 > | m_skin_dest_area_bottom |
| core::rect< s32 > | m_skin_dest_area_top_left |
| core::rect< s32 > | m_skin_dest_area_top_right |
| core::rect< s32 > | m_skin_dest_area_bottom_left |
| core::rect< s32 > | m_skin_dest_area_bottom_right |
| core::rect< s32 > | m_skin_dest_area_left_yflip |
| core::rect< s32 > | m_skin_dest_area_center_yflip |
| core::rect< s32 > | m_skin_dest_area_right_yflip |
| core::rect< s32 > | m_skin_dest_area_top_yflip |
| core::rect< s32 > | m_skin_dest_area_bottom_yflip |
| core::rect< s32 > | m_skin_dest_area_top_left_yflip |
| core::rect< s32 > | m_skin_dest_area_top_right_yflip |
| core::rect< s32 > | m_skin_dest_area_bottom_left_yflip |
| core::rect< s32 > | m_skin_dest_area_bottom_right_yflip |
| short | m_skin_r |
| short | m_skin_g |
| short | m_skin_b |
| SkinWidgetContainer * | m_next |
Protected Member Functions inherited from GUIEngine::IconButtonWidget | |
| void | setTexture (video::ITexture *texture) |
Protected Member Functions inherited from GUIEngine::Widget | |
| virtual EventPropagation | rightPressed (const int playerID) |
| called when right key is pressed and focus is on widget. More... | |
| virtual EventPropagation | leftPressed (const int playerID) |
| called when left key is pressed and focus is on widget. More... | |
| virtual EventPropagation | upPressed (const int playerID) |
| called when up key is pressed and focus is on widget. More... | |
| virtual EventPropagation | downPressed (const int playerID) |
| called when down key is pressed and focus is on widget. More... | |
| virtual EventPropagation | mouseHovered (Widget *child, const int playerID) |
| used when you set eventSupervisors - see m_event_handler explainations below called when one of a widget's children is hovered. More... | |
Protected Attributes inherited from GUIEngine::IconButtonWidget | |
| IconPathType | m_icon_path_type |
| irr::gui::IGUIStaticText * | m_label |
| irr::gui::ScalableFont * | m_font |
| ScaleMode | m_scale_mode |
| float | m_custom_aspect_ratio |
Protected Attributes inherited from GUIEngine::Widget | |
| unsigned int | m_magic_number |
| std::bitset< Input::IT_LAST+1 > | m_active_event_callback |
| int | m_absolute_x |
| Used during loading, by the layout engine. More... | |
| int | m_absolute_y |
| int | m_absolute_w |
| int | m_absolute_h |
| int | m_absolute_reverse_x |
| int | m_absolute_reverse_y |
| float | m_relative_x |
| float | m_relative_y |
| float | m_relative_w |
| float | m_relative_h |
| irr::core::stringw | m_text |
| PROP_TEXT is a special case : since it can be translated it can't go in the map above, which uses narrow strings. | |
| bool | m_title_font |
| When true, this widget shall use a bigger and more colourful font. | |
| bool | m_selected [MAX_PLAYER_COUNT] |
| Can be used in children to indicate whether a widget is selected or not. More... | |
| bool | m_check_inside_me |
| Whether to descend in the children of this widget when searching a widget from its ID or name. More... | |
| irr::gui::IGUIElement * | m_parent |
| An irrlicht parent (most often used to put widgets in dialogs) | |
| irr::gui::IGUIElement * | m_element |
| IrrLicht widget created to represent this object. | |
| int | m_id |
| numerical ID used by irrLicht to identify this widget (not the same as the string identificator specified in the XML file) | |
| bool | m_player_focus [MAX_PLAYER_COUNT] |
| Usually, only one widget at a time can be focused. More... | |
| bool | m_reserve_id |
| Whether to reserve an ID in 'm_reserved_id' when widget is added. | |
| WidgetType | m_type |
| Type of this widget. | |
| PtrVector< Widget > | m_children |
| If this widget has any children, they go here. More... | |
| int | m_badges |
| A bitmask of which badges to show, if any; choices are *_BADGE, defined above. | |
| bool | m_deactivated |
| A simple flag that can be raised to deactivate this widget. | |
| bool | m_is_visible |
| A flag to indicate whether this widget should be visible or not. | |
| bool | m_focusable |
| Set to false if widget is something that should not receive focus. | |
| bool | m_bottom_bar |
| bool | m_top_bar |
| int | m_badge_x_shift |
| If a badge wouldn't look too pretty on the very side of the widget. | |
| bool | m_has_tooltip |
| irr::core::stringw | m_tooltip_text |
| int | m_uncollapsed_height |
| height of the widget before it was collapsed (only set if widget got collapsed) | |
| bool | m_is_collapsed |
| A flag to indicate whether this widget got collapsed. | |
A model view widget.
|
virtual |
Called when irrLicht widgets cleared.
Forget all references to them, they're no more valid.
Reimplemented from GUIEngine::IconButtonWidget.