5#ifndef INCLUDE_FIFECHAN_WIDGETS_SCROLLAREA_HPP_
6#define INCLUDE_FIFECHAN_WIDGETS_SCROLLAREA_HPP_
12#include "fifechan/platform.hpp"
15#include "fifechan/listeners/mouselistener.hpp"
16#include "fifechan/widget.hpp"
80 void setContent(
Widget* widget);
87 Widget* getContent()
const;
95 void setHorizontalScrollPolicy(ScrollPolicy hPolicy);
103 ScrollPolicy getHorizontalScrollPolicy()
const;
111 void setVerticalScrollPolicy(ScrollPolicy vPolicy);
119 ScrollPolicy getVerticalScrollPolicy()
const;
128 void setScrollPolicy(ScrollPolicy hPolicy, ScrollPolicy vPolicy);
136 void setVerticalScrollAmount(
int vScroll);
144 int getVerticalScrollAmount()
const;
152 void setHorizontalScrollAmount(
int hScroll);
160 int getHorizontalScrollAmount()
const;
169 void setScrollAmount(
int hScroll,
int vScroll);
176 int getHorizontalMaxScroll();
183 int getVerticalMaxScroll();
191 void setScrollbarWidth(
int width);
199 int getScrollbarWidth()
const;
208 void setLeftButtonScrollAmount(
int amount);
217 void setRightButtonScrollAmount(
int amount);
226 void setUpButtonScrollAmount(
int amount);
235 void setDownButtonScrollAmount(
int amount);
244 int getLeftButtonScrollAmount()
const;
253 int getRightButtonScrollAmount()
const;
262 int getUpButtonScrollAmount()
const;
271 int getDownButtonScrollAmount()
const;
279 void setOpaque(
bool opaque);
287 bool isOpaque()
const;
301 virtual Widget* getWidgetAt(
int x,
int y);
305 void draw(
Graphics* graphics)
override;
307 void logic()
override;
310 void setWidth(
int width)
override;
313 void setHeight(
int height)
override;
316 void setDimension(
Rectangle const & dimension)
override;
321 void resizeToContent(
bool recursion =
true)
override;
323 void adjustSize()
override;
325 void expandContent(
bool recursion)
override;
329 void mousePressed(
MouseEvent& mouseEvent)
override;
331 void mouseReleased(
MouseEvent& mouseEvent)
override;
333 void mouseDragged(
MouseEvent& mouseEvent)
override;
335 void mouseWheelMovedUp(
MouseEvent& mouseEvent)
override;
337 void mouseWheelMovedDown(
MouseEvent& mouseEvent)
override;
339 void mouseWheelMovedRight(
MouseEvent& mouseEvent)
override;
341 void mouseWheelMovedLeft(
MouseEvent& mouseEvent)
override;
350 virtual void drawBackground(
Graphics* graphics);
357 virtual void drawUpButton(
Graphics* graphics);
364 virtual void drawDownButton(
Graphics* graphics);
371 virtual void drawLeftButton(
Graphics* graphics);
378 virtual void drawRightButton(
Graphics* graphics);
385 virtual void drawVBar(
Graphics* graphics);
392 virtual void drawHBar(
Graphics* graphics);
399 virtual void drawVMarker(
Graphics* graphics);
406 virtual void drawHMarker(
Graphics* graphics);
411 virtual void checkPolicies();
467 Rectangle getHorizontalMarkerDimension();
Abstract interface providing primitive drawing functions (lines, rectangles, etc.).
Represents a mouse event.
MouseListener(MouseListener const &)=default
Copy constructor.
Represents a rectangular area (X, Y, Width, Height).
Used replacement tokens by configure_file():