Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ScrollerButton Class Reference
Inheritance diagram for ScrollerButton:
NewButton Control EventResponder

Public Types

enum  ButtonArrow { LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW }
 
- Public Types inherited from NewButton
enum  {
  NORMAL_STATE =0, DOWN_STATE, HIGHLIGHT_STATE, DISABLED_STATE,
  FINAL_BUTTON_STATE =DISABLED_STATE
}
 

Public Member Functions

virtual void draw (void)
 
void setArrowType (ButtonArrow arrow)
 
 ScrollerButton ()
 
virtual ~ScrollerButton (void)
 
- Public Member Functions inherited from NewButton
virtual int drawingState (void)
 
virtual void setDrawingState (int newState)
 
virtual EventCommandId command (void)
 
virtual void setCommand (EventCommandId id)
 
virtual std::string label (void)
 
virtual void setLabel (std::string l)
 
virtual GFXColor highlightColor (void)
 
virtual void setHighlightColor (const GFXColor &c)
 
virtual GFXColor textHighlightColor (void)
 
virtual void setTextHighlightColor (const GFXColor &c)
 
virtual GFXColor downColor (void)
 
virtual void setDownColor (const GFXColor &c)
 
virtual GFXColor downTextColor (void)
 
virtual void setDownTextColor (const GFXColor &c)
 
virtual float shadowWidth (void)
 
virtual void setShadowWidth (float width)
 
virtual float variableBorderCycleTime (void)
 
virtual void setVariableBorderCycleTime (float cycleTime)
 
virtual GFXColor borderColor (void)
 
virtual void setBorderColor (const GFXColor &c)
 
virtual GFXColor endBorderColor (void)
 
virtual void setEndBorderColor (const GFXColor &c)
 
virtual bool processMouseDown (const InputEvent &event)
 
virtual bool processMouseUp (const InputEvent &event)
 
 NewButton (void)
 
virtual ~NewButton (void)
 
- Public Member Functions inherited from Control
virtual Rect rect (void)
 
virtual void setRect (const Rect &r)
 
virtual bool hitTest (const Point &p)
 
virtual bool hidden (void)
 
virtual void setHidden (bool h=true)
 
virtual const std::string & id (void)
 
virtual void setId (const std::string &newId)
 
virtual GFXColor color (void)
 
virtual void setColor (const GFXColor &c)
 
virtual GFXColor outlineColor (void)
 
virtual void setOutlineColor (const GFXColor &c)
 
virtual GFXColor textColor (void)
 
virtual void setTextColor (const GFXColor &c)
 
virtual Font font (void)
 
virtual void setFont (const Font &f)
 
virtual bool hasGroupChildren (void)
 
 Control (void)
 
virtual ~Control (void)
 
- Public Member Functions inherited from EventResponder
virtual bool processCommand (const EventCommandId &command, Control *control)
 
virtual bool processKeyDown (const InputEvent &event)
 
virtual bool processKeyUp (const InputEvent &event)
 
virtual void processUnfocus (const InputEvent &event)
 
virtual bool processMouseMove (const InputEvent &event)
 
virtual bool processMouseDrag (const InputEvent &event)
 
virtual void sendCommand (const EventCommandId &command, Control *control)
 
virtual void setCommandTarget (EventResponder *responder)
 
virtual void setModal (bool modal)
 
 EventResponder (void)
 
virtual ~EventResponder (void)
 

Protected Attributes

ButtonArrow m_arrowType
 
- Protected Attributes inherited from NewButton
int m_drawingState
 
EventCommandId m_commandId
 
std::string m_label
 
bool m_leftPressed
 
GFXColor m_highlightColor
 
GFXColor m_textHighlightColor
 
GFXColor m_downColor
 
GFXColor m_downTextColor
 
float m_shadowWidth
 
float m_variableBorderCycleTime
 
GFXColor m_borderColor
 
GFXColor m_endBorderColor
 
PaintText m_paintText
 
GFXColor m_currentCycleColor
 
int m_currentCycle
 
int m_cycleStepCount
 
int m_cycleDirection
 
GFXColor m_cycleColorDelta
 
double m_lastStepTime
 
- Protected Attributes inherited from Control
Rect m_rect
 
std::string m_id
 
GFXColor m_color
 
GFXColor m_outlineColor
 
GFXColor m_textColor
 
Font m_font
 
bool m_hidden
 
- Protected Attributes inherited from EventResponder
bool m_modal
 
EventResponderm_commandTarget
 

Additional Inherited Members

- Protected Member Functions inherited from NewButton
virtual void sendButtonCommand (void)
 
virtual void drawCycleBorder (float lineWidth)
 

Detailed Description

Definition at line 127 of file scroller.cpp.

Member Enumeration Documentation

Enumerator
LEFT_ARROW 
RIGHT_ARROW 
UP_ARROW 
DOWN_ARROW 

Definition at line 133 of file scroller.cpp.

134  {
135  LEFT_ARROW,
136  RIGHT_ARROW,
137  UP_ARROW,
138  DOWN_ARROW
139  };

Constructor & Destructor Documentation

ScrollerButton::ScrollerButton ( )
inline

Definition at line 146 of file scroller.cpp.

virtual ScrollerButton::~ScrollerButton ( void  )
inlinevirtual

Definition at line 147 of file scroller.cpp.

147 {}

Member Function Documentation

void ScrollerButton::draw ( void  )
virtual

Reimplemented from NewButton.

Definition at line 154 of file scroller.cpp.

References Rect::center(), center, DOWN_ARROW, NewButton::draw(), drawFilledPolygon(), NewButton::label(), LEFT_ARROW, m_arrowType, Control::m_rect, RIGHT_ARROW, Control::textColor(), UP_ARROW, Point::x, and Point::y.

155 {
156  //Draw the other stuff first, so our stuff goes on top.
157  assert( label().empty() ); //We are assuming it won't paint text on itself.
158  NewButton::draw();
159  static const float ARROW_POINT = .012; //From center to point of arrow.
160  static const float ARROW_WIDTH = .01; //From center to side points.
161  static const float ARROW_BACK = .01; //From center back to "bottom" of arrow.
163  vector< Point > coords( 3 ); //3-element vector.
164  switch (m_arrowType)
165  {
166  case LEFT_ARROW:
167  coords[0] = Point( center.x+ARROW_POINT, center.y );
168  coords[1] = Point( center.x-ARROW_BACK, center.y+ARROW_WIDTH );
169  coords[2] = Point( center.x-ARROW_BACK, center.y-ARROW_WIDTH );
170  break;
171  case RIGHT_ARROW:
172  coords[0] = Point( center.x-ARROW_POINT, center.y );
173  coords[1] = Point( center.x+ARROW_BACK, center.y+ARROW_WIDTH );
174  coords[2] = Point( center.x+ARROW_BACK, center.y-ARROW_WIDTH );
175  break;
176  case UP_ARROW:
177  coords[0] = Point( center.x, center.y+ARROW_POINT );
178  coords[1] = Point( center.x+ARROW_WIDTH, center.y-ARROW_BACK );
179  coords[2] = Point( center.x-ARROW_WIDTH, center.y-ARROW_BACK );
180  break;
181  case DOWN_ARROW:
182  coords[0] = Point( center.x, center.y-ARROW_POINT );
183  coords[1] = Point( center.x+ARROW_WIDTH, center.y+ARROW_BACK );
184  coords[2] = Point( center.x-ARROW_WIDTH, center.y+ARROW_BACK );
185  break;
186  }
187  drawFilledPolygon( coords, textColor() );
188 }
void ScrollerButton::setArrowType ( ButtonArrow  arrow)
inline

Definition at line 141 of file scroller.cpp.

References m_arrowType.

Referenced by Scroller::calcLayout().

142  {
143  m_arrowType = arrow;
144  }

Member Data Documentation

ButtonArrow ScrollerButton::m_arrowType
protected

Definition at line 150 of file scroller.cpp.

Referenced by draw(), and setArrowType().


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