#include <Scroller.hpp>

Public Member Functions

 Scroller (Instance *)
 
void status (iv::TableDebugView *view)
 
Scrollerinput_id (InputId)
 
InputId input_id ()
 
Scrollerenabled (bool)
 
Instanceinstance () const
 
- Public Member Functions inherited from iv::OneChildElem< SlotChild >
 OneChildElem (Instance *inst)
 
 ~OneChildElem ()
 
T * createChild (CArgs const &... cargs)
 
T * createChild_Instance (char const *name, CArgs const &... cargs)
 
void setChild (SlotChild *)
 
void removeChild ()
 
- Public Member Functions inherited from iv::Elem
 Elem (Instance *inst)
 
 ~Elem ()
 
void status (iv::TableDebugView *view)
 
Instanceinstance () const
 
void elem_setParent (Elem *)
 
Elemelem_getParent ()
 
virtual Cameraelem_getRoot ()
 
void first_pass (ElementRenderer *)
 
void second_pass (ElementRenderer *)
 
unsigned first_pass_frame_id ()
 
unsigned second_pass_frame_id ()
 
Elemenabled (bool val)
 
void quiet (bool)
 
bool quiet () const
 
float3 FromLocalSpaceToScreenSpace (float3 local_space)
 
float3 FromScreenSpaceToLocalSpace (float3 screen_space)
 
float2 FromScreenPlaneToLocalPlane (float2 screen_space)
 
void Add_InputNode (InputNode *node)
 
void Remove_InputNode (InputNode *node)
 
- Public Member Functions inherited from iv::InputNode
 InputNode (Instance *inst)
 
 ~InputNode ()
 
Instanceinstance () const
 
void status (iv::TableDebugView *view)
 
void inputEnabled (bool)
 
bool inputEnabled ()
 
void quiet (bool)
 
bool quiet () const
 
void input_deactivate ()
 
void input_treeRefresh ()
 
void input_setParent (InputNode *)
 
InputNodeinput_getParent ()
 
virtual InputRootinput_getRoot ()
 
bool input_trigger_visit (InputRoot *root, Input::DeviceKey key)
 
bool input_visit (InputRoot *root, Input::DeviceKey key, bool &press, bool &real, bool &offspace)
 
- Public Member Functions inherited from iv::SlotChild
 SlotChild (Elem *elem)
 
Instanceinstance () const
 
void status (iv::TableDebugView *view)
 
virtual bool picking_test (int2 input_pos) override
 
virtual bool picking_test_pixel_perfect (float2 local_pos)
 
- Public Member Functions inherited from iv::Pickable
 Pickable (Elem *elem)
 
Elemelem ()
 
const Elemelem () const
 

Public Attributes

ClientMarker cm
 
PrivValAttr< float > attr_position
 
PrivValAttr< float > attr_outsize
 
PrivValAttr< float > attr_insize
 
PrivValAttr< float > attr_overlapTop
 
PrivValAttr< float > attr_overlapBottom
 
- Public Attributes inherited from iv::OneChildElem< SlotChild >
ClientMarker cm
 
- Public Attributes inherited from iv::Elem
ClientMarker cm
 
DirtyAttr< bool > attr_enabled
 
DirtyAttr< float4x4modelTransform
 
DirtyAttr< ShaderScissorscissor
 
- Public Attributes inherited from iv::InputNode
ClientMarker cm
 
- Public Attributes inherited from iv::SlotChild
ClientMarker cm
 
DirtyAttr< float3expectedSize
 
DirtyAttr< float3preferredSize
 
DirtyAttr< float3size
 
- Public Attributes inherited from iv::Pickable
ClientMarker cm
 

Protected Member Functions

virtual void first_pass_impl (ElementRenderer *) override
 
virtual void second_pass_impl (ElementRenderer *) override
 
virtual void input_process (InputRoot *root, Input::DeviceKey key, bool &press, bool &real, bool &offspace) override
 
virtual bool input_trigger_process (InputRoot *root, Input::DeviceKey key) override
 
virtual void fixed_update (TimeId time, int time_step, int steps) override
 
virtual void frame_update () override
 
- Protected Member Functions inherited from iv::OneChildElem< SlotChild >
virtual void elem_eachChild (std::function< void(Elem *) > const &) override
 
virtual void elem_childDisconnect (Elem *) override
 
virtual void input_eachChild (std::function< void(InputNode *) > const &f) override
 
virtual void input_childDisconnect (InputNode *child) override
 
- Protected Member Functions inherited from iv::PrivValAttr_Owner
template<class T >
void Attribute_Set (PrivValAttr_I< T > *, T const &)
 
template<class T >
void Attribute_SetMode (PrivValAttr_I< T > *, Attribute::ValueMode)
 
virtual void PrivValAttr_Modified (Attribute *)
 

Additional Inherited Members

- Protected Attributes inherited from iv::OneChildElem< SlotChild >
DirtyAttr< SlotChild * > child
 

Detailed Description

Scroller is a SlotChild that can contain one other SlotChild. Scroller reacts to mouse and touch input, scrolling inner SlotChild vertically. Parts of inner SlotChild that reach outside of outer SlotChild are clamped. This should be extended by another class to provide decorators, utilizing information in contained attributes.

Definition at line 18 of file Scroller.hpp.

Constructor & Destructor Documentation

◆ Scroller()

iv::Scroller::Scroller ( Instance inst)

Definition at line 20 of file Scroller.cpp.

Member Function Documentation

◆ status()

void iv::Scroller::status ( iv::TableDebugView view)

Definition at line 46 of file Scroller.cpp.

◆ input_id() [1/2]

Scroller * iv::Scroller::input_id ( InputId  id)

Definition at line 133 of file Scroller.cpp.

◆ input_id() [2/2]

InputId iv::Scroller::input_id ( )

Definition at line 140 of file Scroller.cpp.

◆ enabled()

Scroller * iv::Scroller::enabled ( bool  val)

Definition at line 335 of file Scroller.cpp.

◆ first_pass_impl()

void iv::Scroller::first_pass_impl ( ElementRenderer er)
overrideprotectedvirtual

Implements iv::Elem.

Definition at line 241 of file Scroller.cpp.

◆ second_pass_impl()

void iv::Scroller::second_pass_impl ( ElementRenderer er)
overrideprotectedvirtual

Reimplemented from iv::Elem.

Definition at line 273 of file Scroller.cpp.

◆ input_process()

void iv::Scroller::input_process ( InputRoot root,
Input::DeviceKey  key,
bool &  press,
bool &  real,
bool &  offspace 
)
overrideprotectedvirtual

This should behave just like a set - group of keys is accepted, all others are not accepted. When this changes, request_refresh() on root should be called to apply the change. Returns true if we should continue to following nodes.

Reimplemented from iv::InputNode.

Definition at line 145 of file Scroller.cpp.

◆ input_trigger_process()

bool iv::Scroller::input_trigger_process ( InputRoot root,
Input::DeviceKey  key 
)
overrideprotectedvirtual

Returns true if we should continue to following nodes.

Reimplemented from iv::InputNode.

Definition at line 218 of file Scroller.cpp.

◆ fixed_update()

void iv::Scroller::fixed_update ( TimeId  time,
int  time_step,
int  steps 
)
overrideprotectedvirtual

Implements iv::FixedUpdateClient.

Definition at line 79 of file Scroller.cpp.

◆ frame_update()

void iv::Scroller::frame_update ( )
overrideprotectedvirtual

Implements iv::FrameUpdateClient.

Definition at line 51 of file Scroller.cpp.

◆ instance()

Instance * iv::Elem::instance

Definition at line 57 of file Elem.cpp.

Member Data Documentation

◆ cm

ClientMarker iv::Scroller::cm

Definition at line 21 of file Scroller.hpp.

◆ attr_position

PrivValAttr< float > iv::Scroller::attr_position

Definition at line 31 of file Scroller.hpp.

◆ attr_outsize

PrivValAttr< float > iv::Scroller::attr_outsize

Definition at line 32 of file Scroller.hpp.

◆ attr_insize

PrivValAttr< float > iv::Scroller::attr_insize

Definition at line 33 of file Scroller.hpp.

◆ attr_overlapTop

PrivValAttr< float > iv::Scroller::attr_overlapTop

Definition at line 34 of file Scroller.hpp.

◆ attr_overlapBottom

PrivValAttr< float > iv::Scroller::attr_overlapBottom

Definition at line 35 of file Scroller.hpp.


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