Rename osx directory to src since it's now the official source base
This commit is contained in:
82
src/dialogxml/scrollbar.hpp
Normal file
82
src/dialogxml/scrollbar.hpp
Normal file
@@ -0,0 +1,82 @@
|
||||
//
|
||||
// scrollbar.h
|
||||
// BoE
|
||||
//
|
||||
// Created by Celtic Minstrel on 14-03-26.
|
||||
//
|
||||
//
|
||||
|
||||
#ifndef BoE_scrollbar_h
|
||||
#define BoE_scrollbar_h
|
||||
|
||||
/// @file
|
||||
/// Scrollbar-related classes and types.
|
||||
|
||||
#include "control.hpp"
|
||||
#include "graphtool.h"
|
||||
|
||||
/// A simple vertical scrollbar.
|
||||
/// This has no coupling with scrollable data; that must be handled externally by
|
||||
/// using the methods to get the scrollbar's position.
|
||||
class cScrollbar : public cControl {
|
||||
int pos, max, pgsz;
|
||||
enum {
|
||||
PART_UP,
|
||||
PART_PGUP,
|
||||
PART_THUMB,
|
||||
PART_PGDN,
|
||||
PART_DOWN,
|
||||
} pressedPart;
|
||||
click_callback_t onClick;
|
||||
static sf::Texture scroll_gw;
|
||||
static tessel_ref_t bar_tessel[2];
|
||||
public:
|
||||
/// @copydoc cDialog::init()
|
||||
static void init();
|
||||
/// Create a new scrollbar without a parent dialog.
|
||||
/// @param parent The parent window.
|
||||
explicit cScrollbar(sf::RenderWindow& parent);
|
||||
/// Create a new scrollbar.
|
||||
/// @param parent The parent dialog.
|
||||
explicit cScrollbar(cDialog& parent);
|
||||
void attachClickHandler(click_callback_t f) throw(xHandlerNotSupported);
|
||||
void attachFocusHandler(focus_callback_t f) throw(xHandlerNotSupported);
|
||||
bool triggerClickHandler(cDialog& me, std::string id, eKeyMod mods);
|
||||
bool handleClick(location where);
|
||||
void setFormat(eFormat prop, short val) throw(xUnsupportedProp);
|
||||
short getFormat(eFormat prop) throw(xUnsupportedProp);
|
||||
void setColour(sf::Color clr) throw(xUnsupportedProp);
|
||||
sf::Color getColour() throw(xUnsupportedProp);
|
||||
storage_t store();
|
||||
void restore(storage_t to);
|
||||
bool isClickable();
|
||||
/// Get the scrollbar thumb's current position.
|
||||
/// @return The current position.
|
||||
long getPosition();
|
||||
/// Get the scrollbar thumb's maximum value.
|
||||
/// @return The maximum value.
|
||||
long getMaximum();
|
||||
/// Get the scrollbar thumb's page size.
|
||||
/// @return The page size.
|
||||
///
|
||||
/// The page size is the number of steps scrolled when a click is received
|
||||
/// in the area between the arrow buttons and the scrollbar thumb.
|
||||
long getPageSize();
|
||||
/// Set the scrollbar thumb's current position.
|
||||
/// @param to The current position.
|
||||
void setPosition(long to);
|
||||
/// Set the scrollbar thumb's maximum value.
|
||||
/// @param to The maximum value.
|
||||
void setMaximum(long to);
|
||||
/// Set the scrollbar thumb's page size.
|
||||
/// @param to The page size.
|
||||
///
|
||||
/// The page size is the number of steps scrolled when a click is received
|
||||
/// in the area between the arrow buttons and the scrollbar thumb.
|
||||
void setPageSize(long to);
|
||||
void draw();
|
||||
cScrollbar& operator=(cScrollbar& other) = delete;
|
||||
cScrollbar(cScrollbar& other) = delete;
|
||||
};
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user