base class for all widgets
More...
#include <zgui.h>
|
| Widget (cv::Rect_< int > r) |
|
Widget & | operator= (const Widget &r) |
|
bool | focus () const |
|
virtual void | focus (bool) |
|
virtual void | event_callback (int event, int x, int y) |
|
virtual void | show () |
|
virtual std::string | type () const |
|
void | resize (cv::Rect2i r) |
|
void | update () |
|
virtual void | on_register () |
| will be called when widget is added to a window
|
|
virtual bool | is_window () const |
|
int | zIndex () |
|
void | zIndex (int v) |
|
void | hidden (bool v) |
|
void | activated (bool v) |
|
bool | hidden () const |
|
bool | activated () const |
|
void | hide () |
|
float | alpha () const |
|
void | alpha (float f) |
|
void | shade_rect (cv::Rect2i r, int shade=3, cv::Vec3b color=widget_color_, cv::Vec3b upper_left=highlight_color_, cv::Vec3b lower_right=click_color_) |
|
|
std::map< int, std::function< void(int, int)> > | gui_callback_ |
| map<int : event, function(x, y)>. library will draw change in widget graphics after gui_callback
|
|
std::map< int, std::function< void(int, int)> > | user_callback_ |
|
cv::Mat3b | mat_ |
| Matrix that contains widget shape.
|
|
Window * | parent_ = nullptr |
| pointer to parent window that is containing this widget
|
|
|
float | alpha_ = 1 |
| alpha value of widget. Widgets can be overlapped. Alpha value will be calculated in such cases.
|
|
bool | hidden_ = false |
| if hidden, a widget will not show on window, but still can react to event.
|
|
bool | activated_ = true |
| deactivated widget cannot get focus so that it cannot react to events.
|
|
bool | focus_ = false |
|
int | zIndex_ = 0 |
| higher zIndex widget will be in front of lower zIndex widget.
|
|
|
static const cv::Vec3b | background_color_ = {200, 200, 200} |
|
static const cv::Vec3b | widget_color_ = {220, 220, 220} |
|
static const cv::Vec3b | highlight_color_ = {240, 240, 240} |
|
static const cv::Vec3b | click_color_ = {180, 180, 180} |
|
static cv::Ptr< cv::freetype::FreeType2 > | ft2_ |
| freetype2 font. CJK font needed
|
|
base class for all widgets
◆ Widget()
z::Widget::Widget |
( |
cv::Rect_< int > |
r | ) |
|
widget will be visible with the size and position of rectangle r
◆ focus() [1/2]
bool z::Widget::focus |
( |
| ) |
const |
check if widget is currently focused or not. Focused widget wil get the keyboard input.
◆ focus() [2/2]
void z::Widget::focus |
( |
bool |
tf | ) |
|
|
virtual |
◆ operator=()
copy rectangle property of widget r
◆ resize()
void z::Widget::resize |
( |
cv::Rect2i |
r | ) |
|
resize mat_ and rectangle of this widget
◆ update()
void z::Widget::update |
( |
| ) |
|
copy this widget's current graphical state to parent window and show it.
◆ focus_
bool z::Widget::focus_ = false |
|
protected |
Only one widget can be focused except window widget.
Window widget sholud be first focused to get its child widgets to be focused. If there is no focused child widget, window widget's event callback will be called, if it is defined
◆ user_callback_
std::map<int, std::function<void(int, int)> > z::Widget::user_callback_ |
map<int : event, function( x, y)>. library will assume user_callback is not related to graphical change. So it will not draw any change in widget graphics after user_callback is called. If you changed widget graphics during user_callback you have to manually change graphics inside the callback. call update().
The documentation for this class was generated from the following files:
- /home/zeta/Programming/opencv-gui/src/zgui.h
- /home/zeta/Programming/opencv-gui/src/widget.cc