mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-28 13:47:58 +03:00
Prepared UIHorizScroll for implementation
This commit is contained in:
parent
c2c3f6aa1b
commit
ef50a5f2cd
2 changed files with 126 additions and 184 deletions
|
@ -22,209 +22,146 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
|
||||
#include "ui_local.h"
|
||||
|
||||
CLASS_DECLARATION( UIWidget, UIHorizScroll, NULL )
|
||||
{
|
||||
{ NULL, NULL }
|
||||
Event W_HScrollbar_Positioned
|
||||
(
|
||||
"hscrollbar_positioned",
|
||||
EV_DEFAULT,
|
||||
"i",
|
||||
"new_position",
|
||||
"Signaled when the user scrolls the view"
|
||||
);
|
||||
Event EV_HScrollbar_Scroll
|
||||
(
|
||||
"_hscrollbar_scroll",
|
||||
EV_DEFAULT,
|
||||
"ii",
|
||||
"scrollrate autorepeat",
|
||||
"scroll the scrollbar, at the specified rate.\n"
|
||||
"The autorepeat is used for autoscrolling with the mouse button held down"
|
||||
);
|
||||
|
||||
CLASS_DECLARATION(UIWidget, UIHorizScroll, NULL) {
|
||||
{&W_LeftMouseDown, &UIHorizScroll::MouseDown },
|
||||
{&W_LeftMouseUp, &UIHorizScroll::MouseUp },
|
||||
{&W_LeftMouseDragged, &UIHorizScroll::MouseDragged},
|
||||
{&W_MouseEntered, &UIHorizScroll::MouseEnter },
|
||||
{&W_MouseExited, &UIHorizScroll::MouseLeave },
|
||||
{&EV_HScrollbar_Scroll, &UIHorizScroll::Scroll },
|
||||
{NULL, NULL }
|
||||
};
|
||||
|
||||
UIHorizScroll::UIHorizScroll()
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
int UIHorizScroll::getItemFromWidth
|
||||
(
|
||||
float height
|
||||
)
|
||||
|
||||
void UIHorizScroll::DrawArrow(float top, const char *text, bool pressed)
|
||||
{
|
||||
// FIXME: stub
|
||||
return 0;
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
bool UIHorizScroll::isEnoughItems
|
||||
(
|
||||
void
|
||||
)
|
||||
|
||||
void UIHorizScroll::DrawThumb(void)
|
||||
{
|
||||
// FIXME: stub
|
||||
return false;
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
void UIHorizScroll::Draw
|
||||
(
|
||||
void
|
||||
)
|
||||
|
||||
void UIHorizScroll::Draw(void)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
void UIHorizScroll::DrawArrow
|
||||
(
|
||||
float top,
|
||||
const char *text,
|
||||
bool pressed
|
||||
)
|
||||
|
||||
void UIHorizScroll::Scroll(Event *ev)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
void UIHorizScroll::DrawThumb
|
||||
(
|
||||
void
|
||||
)
|
||||
|
||||
bool UIHorizScroll::AttemptScrollTo(int to)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
return false;
|
||||
}
|
||||
|
||||
void UIHorizScroll::MouseDown
|
||||
(
|
||||
Event *ev
|
||||
)
|
||||
|
||||
void UIHorizScroll::MouseDown(Event *ev)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
void UIHorizScroll::MouseUp
|
||||
(
|
||||
Event *ev
|
||||
)
|
||||
|
||||
int UIHorizScroll::getItemFromWidth(float height)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
void UIHorizScroll::MouseDragged
|
||||
(
|
||||
Event *ev
|
||||
)
|
||||
|
||||
void UIHorizScroll::MouseUp(Event *ev)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
void UIHorizScroll::MouseEnter
|
||||
(
|
||||
Event *ev
|
||||
)
|
||||
|
||||
void UIHorizScroll::MouseDragged(Event *ev)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
void UIHorizScroll::MouseLeave
|
||||
(
|
||||
Event *ev
|
||||
)
|
||||
|
||||
void UIHorizScroll::InitFrameAlignRight(UIWidget *parent)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
void UIHorizScroll::Scroll
|
||||
(
|
||||
Event *ev
|
||||
)
|
||||
|
||||
void UIHorizScroll::MouseEnter(Event *ev)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
bool UIHorizScroll::AttemptScrollTo
|
||||
(
|
||||
int to
|
||||
)
|
||||
|
||||
void UIHorizScroll::MouseLeave(Event *ev)
|
||||
{
|
||||
// FIXME: stub
|
||||
return false;
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
void UIHorizScroll::setNumItems
|
||||
(
|
||||
int i
|
||||
)
|
||||
|
||||
bool UIHorizScroll::isEnoughItems(void)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
return false;
|
||||
}
|
||||
|
||||
void UIHorizScroll::setPageWidth
|
||||
(
|
||||
int i
|
||||
)
|
||||
|
||||
void UIHorizScroll::setNumItems(int i)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
void UIHorizScroll::setTopItem
|
||||
(
|
||||
int i
|
||||
)
|
||||
|
||||
void UIHorizScroll::setPageWidth(int i)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
int UIHorizScroll::getTopItem
|
||||
(
|
||||
void
|
||||
)
|
||||
|
||||
void UIHorizScroll::setTopItem(int i)
|
||||
{
|
||||
// FIXME: stub
|
||||
return 0;
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
int UIHorizScroll::getPageWidth
|
||||
(
|
||||
void
|
||||
)
|
||||
|
||||
int UIHorizScroll::getTopItem(void)
|
||||
{
|
||||
// FIXME: stub
|
||||
return 0;
|
||||
// FIXME: stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
int UIHorizScroll::getNumItems
|
||||
(
|
||||
void
|
||||
)
|
||||
|
||||
int UIHorizScroll::getPageWidth(void)
|
||||
{
|
||||
// FIXME: stub
|
||||
return 0;
|
||||
// FIXME: stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
void UIHorizScroll::setThumbColor
|
||||
(
|
||||
const UColor& thumb
|
||||
)
|
||||
|
||||
int UIHorizScroll::getNumItems(void)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
void UIHorizScroll::setSolidBorderColor
|
||||
(
|
||||
const UColor& col
|
||||
)
|
||||
|
||||
void UIHorizScroll::setThumbColor(const UColor& thumb)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
}
|
||||
|
||||
void UIHorizScroll::InitFrameAlignRight
|
||||
(
|
||||
UIWidget *parent
|
||||
)
|
||||
|
||||
void UIHorizScroll::setSolidBorderColor(const UColor& col)
|
||||
{
|
||||
// FIXME: stub
|
||||
// FIXME: stub
|
||||
}
|
||||
|
|
|
@ -20,58 +20,63 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
===========================================================================
|
||||
*/
|
||||
|
||||
#ifndef __UIHORIZSCROLL_H__
|
||||
#define __UIHORIZSCROLL_H__
|
||||
#pragma once
|
||||
|
||||
typedef enum { VS_NONE, VS_UP_ARROW, VS_DOWN_ARROW, VS_THUMB, VS_PAGE_DOWN, VS_PAGE_UP } whatspressed;
|
||||
typedef enum {
|
||||
VS_NONE,
|
||||
VS_UP_ARROW,
|
||||
VS_DOWN_ARROW,
|
||||
VS_THUMB,
|
||||
VS_PAGE_DOWN,
|
||||
VS_PAGE_UP
|
||||
} whatspressed;
|
||||
|
||||
class UIHorizScroll : public UIWidget {
|
||||
class UIHorizScroll : public UIWidget
|
||||
{
|
||||
protected:
|
||||
int m_numitems;
|
||||
int m_pagewidth;
|
||||
int m_topitem;
|
||||
UIFont m_marlett;
|
||||
whatspressed m_pressed;
|
||||
UIRect2D thumbRect;
|
||||
int m_numitems;
|
||||
int m_pagewidth;
|
||||
int m_topitem;
|
||||
UIFont m_marlett;
|
||||
whatspressed m_pressed;
|
||||
UIRect2D thumbRect;
|
||||
|
||||
struct {
|
||||
int itemOffset;
|
||||
int orgItem;
|
||||
} m_dragThumbState;
|
||||
struct {
|
||||
int itemOffset;
|
||||
int orgItem;
|
||||
} m_dragThumbState;
|
||||
|
||||
bool m_frameinitted;
|
||||
UColor m_thumbcolor;
|
||||
UColor m_solidbordercolor;
|
||||
public:
|
||||
CLASS_PROTOTYPE( UIHorizScroll );
|
||||
|
||||
protected:
|
||||
int getItemFromWidth( float height );
|
||||
bool isEnoughItems( void );
|
||||
bool m_frameinitted;
|
||||
UColor m_thumbcolor;
|
||||
UColor m_solidbordercolor;
|
||||
|
||||
public:
|
||||
UIHorizScroll();
|
||||
CLASS_PROTOTYPE(UIHorizScroll);
|
||||
|
||||
void Draw( void ) override;
|
||||
void DrawArrow( float top, const char *text, bool pressed );
|
||||
void DrawThumb();
|
||||
void MouseDown( Event *ev );
|
||||
void MouseUp( Event *ev );
|
||||
void MouseDragged( Event *ev );
|
||||
void MouseEnter( Event *ev );
|
||||
void MouseLeave( Event *ev );
|
||||
void Scroll( Event *ev );
|
||||
bool AttemptScrollTo( int to );
|
||||
void setNumItems( int i );
|
||||
void setPageWidth( int i );
|
||||
void setTopItem( int i );
|
||||
int getTopItem( void );
|
||||
int getPageWidth( void );
|
||||
int getNumItems( void );
|
||||
void setThumbColor( const UColor& thumb );
|
||||
void setSolidBorderColor( const UColor& col );
|
||||
void InitFrameAlignRight( UIWidget *parent );
|
||||
protected:
|
||||
int getItemFromWidth(float height);
|
||||
bool isEnoughItems(void);
|
||||
|
||||
public:
|
||||
UIHorizScroll();
|
||||
|
||||
void Draw(void) override;
|
||||
void DrawArrow(float top, const char *text, bool pressed);
|
||||
void DrawThumb();
|
||||
void MouseDown(Event *ev);
|
||||
void MouseUp(Event *ev);
|
||||
void MouseDragged(Event *ev);
|
||||
void MouseEnter(Event *ev);
|
||||
void MouseLeave(Event *ev);
|
||||
void Scroll(Event *ev);
|
||||
bool AttemptScrollTo(int to);
|
||||
void setNumItems(int i);
|
||||
void setPageWidth(int i);
|
||||
void setTopItem(int i);
|
||||
int getTopItem(void);
|
||||
int getPageWidth(void);
|
||||
int getNumItems(void);
|
||||
void setThumbColor(const UColor& thumb);
|
||||
void setSolidBorderColor(const UColor& col);
|
||||
void InitFrameAlignRight(UIWidget *parent);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue