diff --git a/ChangeLog b/ChangeLog index f91ad1f3..3145a379 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2020-03-22 Markus Gans + * A small benchmakt test was added to the Rotozoomer example + 2020-03-08 Markus Gans * A rotozoomer example was added to demonstrate the drawing speed of FINAL CUT diff --git a/README.md b/README.md index 45bfd224..71c36dfb 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,11 @@ The calculator example in newfont mode: ![calculator](doc/calculator.png) +Benchmark +--------- +Here you can find a test for ![measuring the character speed](doc/benchmark.md) in the terminal. + + Virtual terminal ---------------- FINAL CUT uses a virtual terminal to print character via an update method on the screen. It provides (as an overlying layer) virtual windows for the realization of window movements. The update methods only transfer differences to the virtual terminal or physical screen. diff --git a/doc/benchmark.md b/doc/benchmark.md new file mode 100644 index 00000000..354fc462 --- /dev/null +++ b/doc/benchmark.md @@ -0,0 +1,30 @@ +Benchmark +========= + +The Rotozoomer example can perform a benchmark run with the parameter "-b" to determine the FINAL CUT character speed in the terminal. + + +[![rotozoomer-benchmark](https://asciinema.org/a/voRnNvr7M97BxiDWVhMr3IVIN.svg)](https://asciinema.org/a/voRnNvr7M97BxiDWVhMr3IVIN) + + +Speed tests +----------- + +| Terminal | Size | Time | Loops | Frame rate | +|--------------------|-------|---------|-------|------------| +| XTerm | 80x24 | 2.693ms | 314 | 116.598fps | +| PuTTY | 80x24 | 2.711ms | 314 | 115.824fps | +| Mintty | 80x24 | 2.799ms | 314 | 112.182fps | +| Cygwin (cmd) | 80x24 | 2.99ms | 314 | 105.016fps | +| rxvt-cygwin-native | 80x24 | 2.836ms | 314 | 110.719fps | +| rxvt | 80x24 | 3.064ms | 314 | 102.480fps | +| rxvt-unicode | 80x24 | 2.853ms | 314 | 110.059fps | +| Tera Term | 80x24 | 3.154ms | 314 | 99.5561fps | +| Konsole | 80x24 | 2.727ms | 314 | 115.144fps | +| GNOME-Terminal | 80x24 | 2.683ms | 314 | 117.033fps | +| Linux console | 80x25 | 2.757ms | 314 | 113.891fps | +| FreeBSD console | 80x25 | 2.726ms | 314 | 115.187fps | +| NetBSD console | 80x25 | 2.747ms | 314 | 114.306fps | +| OpenBSD console | 80x25 | 2.751ms | 314 | 114.140fps | +| Solaris console | 80x34 | 3.072ms | 314 | 102.213fps | + diff --git a/doc/coding-style.txt b/doc/coding-style.txt index 0beffc87..649825d4 100644 --- a/doc/coding-style.txt +++ b/doc/coding-style.txt @@ -10,6 +10,14 @@ Formatting * Use one blank line before and after a for, if, switch, while, do..while code block * In parameter lists, leave a space after each comma +* Starting curly brace "{" in a new line + +Naming +------ +* class name: upperCamelCase +* Function: lowerCamelCase +* Callback function: cb_lowerCamelCase (beginning with "cb_" as prefix) +* Variable: lower_case_underscored Class declaration order ----------------------- diff --git a/examples/rotozoomer.cpp b/examples/rotozoomer.cpp index 8b1f503b..d2fca73b 100644 --- a/examples/rotozoomer.cpp +++ b/examples/rotozoomer.cpp @@ -20,11 +20,15 @@ * . * ***********************************************************************/ +#include +#include + #include #include namespace fc = finalcut::fc; +using namespace std::chrono; using finalcut::FPoint; using finalcut::FSize; @@ -42,11 +46,14 @@ class RotoZoomer : public finalcut::FDialog { public: // Constructor - explicit RotoZoomer (finalcut::FWidget* = nullptr); + explicit RotoZoomer (finalcut::FWidget* = nullptr, bool = false, int = 314); // Destructor ~RotoZoomer() override; + // Accessors + finalcut::FString getReport(); + // Event handlers void onShow (finalcut::FShowEvent*) override; void onTimer (finalcut::FTimerEvent*) override; @@ -57,17 +64,25 @@ class RotoZoomer : public finalcut::FDialog // Methods void draw() override; void rotozoomer (double, double, double, double); + void generateReport(); void adjustSize() override; // Data member - wchar_t data[256]{}; - int path{0}; + bool benchmark{false}; + int loops{0}; + int path{0}; + wchar_t data[256]{}; + finalcut::FString report; + time_point start{}; + time_point end{}; }; //---------------------------------------------------------------------- -RotoZoomer::RotoZoomer (finalcut::FWidget* parent) +RotoZoomer::RotoZoomer (finalcut::FWidget* parent, bool b, int i) : finalcut::FDialog(parent) + , benchmark(b) + , loops(i) { setText ("Rotozoomer effect"); @@ -107,12 +122,14 @@ RotoZoomer::~RotoZoomer() //---------------------------------------------------------------------- void RotoZoomer::draw() { + if ( benchmark && start == time_point() ) + start = system_clock::now(); + finalcut::FDialog::draw(); double cx = double(80.0 / 2.0 + (80.0 / 2.0 * std::sin(double(path) / 50.0))); double cy = double(23.0 + (23.0 * std::cos(double(path) / 50.0))); double r = double(128.0 + 96.0 * std::cos(double(path) / 10.0)); double a = double(path) / 50.0; - print() << finalcut::FColorPair(fc::White, fc::Black); rotozoomer (cx, cy, r, a); } @@ -159,16 +176,61 @@ void RotoZoomer::rotozoomer (double cx, double cy, double r, double a) } } +//---------------------------------------------------------------------- +void RotoZoomer::generateReport() +{ + finalcut::FString term_type = getTermType(); + finalcut::FString dimension_str{}; + finalcut::FString time_str{}; + finalcut::FString fps_str{}; + std::wostringstream rep; + dimension_str << getDesktopWidth() + << "x" << getDesktopHeight(); + int elapsed_ms = duration_cast(end - start).count(); + time_str << double(elapsed_ms) / 1000 << "ms"; + fps_str << double(loops) * 1000.0 / double(elapsed_ms); + + rep << finalcut::FString(55, '-') << "\n" + << "Terminal Size Time Loops Frame rate\n" + << finalcut::FString(55, '-') << "\n" + << std::left << std::setw(20) << term_type + << std::setw(8) << dimension_str + << std::setw(10) << time_str + << std::setw(7) << loops + << std::setw(7) << fps_str.left(7) << "fps\n"; + report << rep.str(); +} + +//---------------------------------------------------------------------- +inline finalcut::FString RotoZoomer::getReport() +{ + return report; +} + //---------------------------------------------------------------------- void RotoZoomer::onShow (finalcut::FShowEvent*) { - addTimer(33); + if ( ! benchmark ) + addTimer(33); + else + { + for (path = 1; path < loops; path++) + { + redraw(); + updateTerminal(); + } + + end = system_clock::now(); + generateReport(); + flush(); + quit(); + } } //---------------------------------------------------------------------- void RotoZoomer::onTimer (finalcut::FTimerEvent*) { - if ( path >= 314 ) + if ( path >= 314 ) // More than 360 degrees path = 0; else path++; @@ -196,22 +258,27 @@ void RotoZoomer::onKeyPress (finalcut::FKeyEvent* ev) //---------------------------------------------------------------------- void RotoZoomer::onClose (finalcut::FCloseEvent* ev) { - finalcut::FApplication::closeConfirmationDialog (this, ev); + if ( ! benchmark ) + finalcut::FApplication::closeConfirmationDialog (this, ev); } //---------------------------------------------------------------------- void RotoZoomer::adjustSize() { - std::size_t h = getDesktopHeight(); - std::size_t w = getDesktopWidth(); + if ( ! benchmark ) + { + std::size_t h = getDesktopHeight(); + std::size_t w = getDesktopWidth(); - if ( h > 1 ) - h--; + if ( h > 1 ) + h--; - if ( w > 8 ) - w -= 8; + if ( w > 8 ) + w -= 8; + + setGeometry(FPoint(5, 1), FSize(w, h), false); + } - setGeometry(FPoint(5, 1), FSize(w, h), false); finalcut::FDialog::adjustSize(); } @@ -220,19 +287,54 @@ void RotoZoomer::adjustSize() //---------------------------------------------------------------------- int main (int argc, char* argv[]) { - // Create the application object - finalcut::FApplication app(argc, argv); - app.setNonBlockingRead(); + constexpr int iterations = 314; + bool benchmark{false}; + finalcut::FString report{}; + int quit_code{0}; - // Create a simple dialog box - RotoZoomer p(&app); - p.setGeometry (FPoint(5, 1), FSize(72, 23)); - p.setShadow(); + if ( argv[1] && ( strcmp(argv[1], "--help") == 0 + || strcmp(argv[1], "-h") == 0 ) ) + { + std::cout << "RotoZoomer options:\n" + << " -b, --benchmark " + << "Starting a benchmark run\n\n"; + } + else if ( argv[1] && ( strcmp(argv[1], "--benchmark") == 0 + || strcmp(argv[1], "-b") == 0 ) ) + { + benchmark = true; + } - // Set the RotoZoomer object as main widget - app.setMainWidget(&p); + { + // Create the application object + finalcut::FApplication app(argc, argv); + app.setNonBlockingRead(); - // Show and start the application - p.show(); - return app.exec(); + // Create a simple dialog box + RotoZoomer roto(&app, benchmark, iterations); + + if ( benchmark ) + roto.setGeometry (FPoint(1, 1), FSize(80, 24)); + else + roto.setGeometry (FPoint(5, 1), FSize(72, 23)); + + roto.setShadow(); + + // Set the RotoZoomer object as main widget + app.setMainWidget(&roto); + + // Show and start the application + roto.show(); + quit_code = app.exec(); + + if ( benchmark ) + report = roto.getReport(); + } + + if ( benchmark ) + { + std::cout << "Benchmark:\n" << report; + } + + return quit_code; } diff --git a/examples/scrollview.cpp b/examples/scrollview.cpp index c3e79767..df80985b 100644 --- a/examples/scrollview.cpp +++ b/examples/scrollview.cpp @@ -54,10 +54,10 @@ class Scrollview : public finalcut::FScrollView void draw() override; // Callback methods - void cb_go_east (finalcut::FWidget*, FDataPtr); - void cb_go_south (finalcut::FWidget*, FDataPtr); - void cb_go_west (finalcut::FWidget*, FDataPtr); - void cb_go_north (finalcut::FWidget*, FDataPtr); + void cb_goEast (finalcut::FWidget*, FDataPtr); + void cb_goSouth (finalcut::FWidget*, FDataPtr); + void cb_goWest (finalcut::FWidget*, FDataPtr); + void cb_goNorth (finalcut::FWidget*, FDataPtr); // Data members wchar_t pointer_right{fc::BlackRightPointingPointer}; @@ -88,25 +88,25 @@ Scrollview::Scrollview (finalcut::FWidget* parent) go_east.addCallback ( "clicked", - F_METHOD_CALLBACK (this, &Scrollview::cb_go_east) + F_METHOD_CALLBACK (this, &Scrollview::cb_goEast) ); go_south.addCallback ( "clicked", - F_METHOD_CALLBACK (this, &Scrollview::cb_go_south) + F_METHOD_CALLBACK (this, &Scrollview::cb_goSouth) ); go_west.addCallback ( "clicked", - F_METHOD_CALLBACK (this, &Scrollview::cb_go_west) + F_METHOD_CALLBACK (this, &Scrollview::cb_goWest) ); go_north.addCallback ( "clicked", - F_METHOD_CALLBACK (this, &Scrollview::cb_go_north) + F_METHOD_CALLBACK (this, &Scrollview::cb_goNorth) ); } @@ -150,7 +150,7 @@ void Scrollview::draw() } //---------------------------------------------------------------------- -void Scrollview::cb_go_east (finalcut::FWidget*, FDataPtr) +void Scrollview::cb_goEast (finalcut::FWidget*, FDataPtr) { scrollToX (int(getScrollWidth() - getViewportWidth()) + 1); go_south.setFocus(); @@ -159,7 +159,7 @@ void Scrollview::cb_go_east (finalcut::FWidget*, FDataPtr) } //---------------------------------------------------------------------- -void Scrollview::cb_go_south (finalcut::FWidget*, FDataPtr) +void Scrollview::cb_goSouth (finalcut::FWidget*, FDataPtr) { scrollToY (int(getScrollHeight() - getViewportHeight()) + 1); go_west.setFocus(); @@ -168,7 +168,7 @@ void Scrollview::cb_go_south (finalcut::FWidget*, FDataPtr) } //---------------------------------------------------------------------- -void Scrollview::cb_go_west (finalcut::FWidget*, FDataPtr) +void Scrollview::cb_goWest (finalcut::FWidget*, FDataPtr) { scrollToX (1); go_north.setFocus(); @@ -177,7 +177,7 @@ void Scrollview::cb_go_west (finalcut::FWidget*, FDataPtr) } //---------------------------------------------------------------------- -void Scrollview::cb_go_north (finalcut::FWidget*, FDataPtr) +void Scrollview::cb_goNorth (finalcut::FWidget*, FDataPtr) { scrollToY (1); go_east.setFocus(); diff --git a/examples/ui.cpp b/examples/ui.cpp index 0863b07c..dcc1ce3d 100644 --- a/examples/ui.cpp +++ b/examples/ui.cpp @@ -293,7 +293,7 @@ class MyDialog : public finalcut::FDialog void cb_clearInput (finalcut::FWidget*, FDataPtr); void cb_input2buttonText (finalcut::FWidget*, FDataPtr); void cb_setTitlebar (finalcut::FWidget*, FDataPtr); - void cb_ProgressBar (finalcut::FWidget*, FDataPtr); + void cb_showProgressBar (finalcut::FWidget*, FDataPtr); void cb_updateNumber (finalcut::FWidget*, FDataPtr); void cb_activateButton (finalcut::FWidget*, FDataPtr); void cb_view (finalcut::FWidget*, FDataPtr); @@ -671,7 +671,7 @@ void MyDialog::initButtons() MyButton5.addCallback ( "clicked", - F_METHOD_CALLBACK (this, &MyDialog::cb_ProgressBar) + F_METHOD_CALLBACK (this, &MyDialog::cb_showProgressBar) ); MyButton6.addCallback @@ -907,7 +907,7 @@ void MyDialog::cb_setTitlebar (finalcut::FWidget* widget, FDataPtr) } //---------------------------------------------------------------------- -void MyDialog::cb_ProgressBar (finalcut::FWidget*, FDataPtr) +void MyDialog::cb_showProgressBar (finalcut::FWidget*, FDataPtr) { auto p_dgl = new ProgressDialog(this); p_dgl->show(); diff --git a/src/flabel.cpp b/src/flabel.cpp index a588897c..f234f2a6 100644 --- a/src/flabel.cpp +++ b/src/flabel.cpp @@ -99,7 +99,7 @@ void FLabel::setAccelWidget (FWidget* widget) accel_widget->addCallback ( "destroy", - F_METHOD_CALLBACK (this, &FLabel::cb_accel_widget_destroyed) + F_METHOD_CALLBACK (this, &FLabel::cb_accelWidgetDestroyed) ); } @@ -234,7 +234,7 @@ void FLabel::onAccel (FAccelEvent* ev) } //---------------------------------------------------------------------- -void FLabel::cb_accel_widget_destroyed (FWidget*, FDataPtr) +void FLabel::cb_accelWidgetDestroyed (FWidget*, FDataPtr) { accel_widget = nullptr; delAccelerator(); diff --git a/src/flistbox.cpp b/src/flistbox.cpp index 28b0a38f..c0e33aad 100644 --- a/src/flistbox.cpp +++ b/src/flistbox.cpp @@ -652,8 +652,8 @@ inline FString& FListBox::getString (listBoxItems::iterator iter) //---------------------------------------------------------------------- void FListBox::init() { - initScrollbar (vbar, fc::vertical, this, &FListBox::cb_VBarChange); - initScrollbar (hbar, fc::horizontal, this, &FListBox::cb_HBarChange); + initScrollbar (vbar, fc::vertical, this, &FListBox::cb_vbarChange); + initScrollbar (hbar, fc::horizontal, this, &FListBox::cb_hbarChange); setGeometry (FPoint(1, 1), FSize(5, 4), false); // initialize geometry values const auto& wc = getFWidgetColors(); setForegroundColor (wc.dialog_fg); @@ -1745,7 +1745,7 @@ void FListBox::lazyConvert(listBoxItems::iterator iter, int y) } //---------------------------------------------------------------------- -void FListBox::cb_VBarChange (FWidget*, FDataPtr) +void FListBox::cb_vbarChange (FWidget*, FDataPtr) { FScrollbar::sType scrollType; const std::size_t current_before = current; @@ -1808,7 +1808,7 @@ void FListBox::cb_VBarChange (FWidget*, FDataPtr) } //---------------------------------------------------------------------- -void FListBox::cb_HBarChange (FWidget*, FDataPtr) +void FListBox::cb_hbarChange (FWidget*, FDataPtr) { static constexpr int padding_space = 2; // 1 leading space + 1 trailing space static constexpr int wheel_distance = 4; diff --git a/src/flistview.cpp b/src/flistview.cpp index 54046f60..1c1ed2d2 100644 --- a/src/flistview.cpp +++ b/src/flistview.cpp @@ -1454,8 +1454,8 @@ void FListView::adjustSize() //---------------------------------------------------------------------- void FListView::init() { - initScrollbar (vbar, fc::vertical, this, &FListView::cb_VBarChange); - initScrollbar (hbar, fc::horizontal, this, &FListView::cb_HBarChange); + initScrollbar (vbar, fc::vertical, this, &FListView::cb_vbarChange); + initScrollbar (hbar, fc::horizontal, this, &FListView::cb_hbarChange); selflist.push_back(this); root = selflist.begin(); null_iter = selflist.end(); @@ -2791,7 +2791,7 @@ void FListView::scrollBy (int dx, int dy) } //---------------------------------------------------------------------- -void FListView::cb_VBarChange (FWidget*, FDataPtr) +void FListView::cb_vbarChange (FWidget*, FDataPtr) { FScrollbar::sType scrollType = vbar->getScrollType(); static constexpr int wheel_distance = 4; @@ -2850,7 +2850,7 @@ void FListView::cb_VBarChange (FWidget*, FDataPtr) } //---------------------------------------------------------------------- -void FListView::cb_HBarChange (FWidget*, FDataPtr) +void FListView::cb_hbarChange (FWidget*, FDataPtr) { FScrollbar::sType scrollType = hbar->getScrollType(); static constexpr int wheel_distance = 4; diff --git a/src/fmenu.cpp b/src/fmenu.cpp index 0cec0142..ac90e4fa 100644 --- a/src/fmenu.cpp +++ b/src/fmenu.cpp @@ -319,7 +319,7 @@ void FMenu::onMouseMove (FMouseEvent* ev) } //---------------------------------------------------------------------- -void FMenu::cb_menuitem_toggled (FWidget* widget, FDataPtr) +void FMenu::cb_menuitemToggled (FWidget* widget, FDataPtr) { const auto& m_item = static_cast(widget); diff --git a/src/fmenubar.cpp b/src/fmenubar.cpp index c157bec1..ca04221a 100644 --- a/src/fmenubar.cpp +++ b/src/fmenubar.cpp @@ -218,7 +218,7 @@ void FMenuBar::onAccel (FAccelEvent* ev) } //---------------------------------------------------------------------- -void FMenuBar::cb_item_deactivated (FWidget* widget, FDataPtr) +void FMenuBar::cb_itemDeactivated (FWidget* widget, FDataPtr) { auto menuitem = static_cast(widget); diff --git a/src/fmenuitem.cpp b/src/fmenuitem.cpp index 5c56e836..e3efed30 100644 --- a/src/fmenuitem.cpp +++ b/src/fmenuitem.cpp @@ -544,7 +544,7 @@ void FMenuItem::init (FWidget* parent) addCallback // for this element ( "deactivate", - F_METHOD_CALLBACK (menubar_ptr, &FMenuBar::cb_item_deactivated) + F_METHOD_CALLBACK (menubar_ptr, &FMenuBar::cb_itemDeactivated) ); } else if ( isMenu(parent) ) // Parent is menu diff --git a/src/fradiomenuitem.cpp b/src/fradiomenuitem.cpp index f825e926..f34667dc 100644 --- a/src/fradiomenuitem.cpp +++ b/src/fradiomenuitem.cpp @@ -69,7 +69,7 @@ void FRadioMenuItem::init (FWidget* parent) addCallback // for this element ( "toggled", - F_METHOD_CALLBACK (menu_ptr, &FMenu::cb_menuitem_toggled) + F_METHOD_CALLBACK (menu_ptr, &FMenu::cb_menuitemToggled) ); } } diff --git a/src/fscrollview.cpp b/src/fscrollview.cpp index 63ed1bd3..83ed50d7 100644 --- a/src/fscrollview.cpp +++ b/src/fscrollview.cpp @@ -305,7 +305,7 @@ bool FScrollView::setBorder (bool enable) //---------------------------------------------------------------------- void FScrollView::setHorizontalScrollBarMode (fc::scrollBarMode mode) { - hMode = mode; + h_mode = mode; if ( isShown() ) setHorizontalScrollBarVisibility(); @@ -314,7 +314,7 @@ void FScrollView::setHorizontalScrollBarMode (fc::scrollBarMode mode) //---------------------------------------------------------------------- void FScrollView::setVerticalScrollBarMode (fc::scrollBarMode mode) { - vMode = mode; + v_mode = mode; if ( isShown() ) setVerticalScrollBarVisibility(); @@ -712,8 +712,8 @@ void FScrollView::init (FWidget* parent) assert ( parent != nullptr ); assert ( ! parent->isInstanceOf("FScrollView") ); - initScrollbar (vbar, fc::vertical, &FScrollView::cb_VBarChange); - initScrollbar (hbar, fc::horizontal, &FScrollView::cb_HBarChange); + initScrollbar (vbar, fc::vertical, &FScrollView::cb_vbarChange); + initScrollbar (hbar, fc::horizontal, &FScrollView::cb_hbarChange); mapKeyFunctions(); const auto& wc = getFWidgetColors(); setForegroundColor (wc.dialog_fg); @@ -790,7 +790,7 @@ void FScrollView::calculateScrollbarPos() //---------------------------------------------------------------------- void FScrollView::setHorizontalScrollBarVisibility() { - switch ( hMode ) + switch ( h_mode ) { case fc::Auto: if ( getScrollWidth() > getViewportWidth() ) @@ -812,7 +812,7 @@ void FScrollView::setHorizontalScrollBarVisibility() //---------------------------------------------------------------------- void FScrollView::setVerticalScrollBarVisibility() { - switch ( vMode ) + switch ( v_mode ) { case fc::Auto: if ( getScrollHeight() > getViewportHeight() ) @@ -852,7 +852,7 @@ void FScrollView::setViewportCursor() } //---------------------------------------------------------------------- -void FScrollView::cb_VBarChange (FWidget*, FDataPtr) +void FScrollView::cb_vbarChange (FWidget*, FDataPtr) { FScrollbar::sType scrollType = vbar->getScrollType(); static constexpr int wheel_distance = 4; @@ -903,7 +903,7 @@ void FScrollView::cb_VBarChange (FWidget*, FDataPtr) } //---------------------------------------------------------------------- -void FScrollView::cb_HBarChange (FWidget*, FDataPtr) +void FScrollView::cb_hbarChange (FWidget*, FDataPtr) { FScrollbar::sType scrollType = hbar->getScrollType(); static constexpr int wheel_distance = 4; diff --git a/src/ftermdetection.cpp b/src/ftermdetection.cpp index 8ccc7215..a6866c83 100644 --- a/src/ftermdetection.cpp +++ b/src/ftermdetection.cpp @@ -940,11 +940,10 @@ inline char* FTermDetection::secDA_Analysis_82() char* new_termtype{}; terminal_type.rxvt = true; - if ( std::strncmp(termtype, "rxvt-", 5) != 0 - && std::strncmp(termtype, "rxvt-cygwin-native", 18) == 0 ) + if ( std::strncmp(termtype, "rxvt-cygwin-native", 18) == 0 ) new_termtype = C_STR("rxvt-16color"); else - new_termtype = termtype; + new_termtype = C_STR("rxvt"); return new_termtype; } diff --git a/src/ftextview.cpp b/src/ftextview.cpp index 0f9e7a3e..a5ed3ab8 100644 --- a/src/ftextview.cpp +++ b/src/ftextview.cpp @@ -140,7 +140,7 @@ void FTextView::scrollTo (int x, int y) if ( changeX && isHorizontallyScrollable() ) { - const int xoffset_end = int(maxLineWidth - getTextWidth()); + const int xoffset_end = int(max_line_width - getTextWidth()); xoffset = x; if ( xoffset < 0 ) @@ -215,17 +215,17 @@ void FTextView::insert (const FString& str, int pos) .rtrim(); const auto column_width = getColumnWidth(line); - if ( column_width > maxLineWidth ) + if ( column_width > max_line_width ) { - maxLineWidth = column_width; + max_line_width = column_width; if ( column_width > getTextWidth() ) { - const int hmax = ( maxLineWidth > getTextWidth() ) - ? int(maxLineWidth) - int(getTextWidth()) + const int hmax = ( max_line_width > getTextWidth() ) + ? int(max_line_width) - int(getTextWidth()) : 0; hbar->setMaximum (hmax); - hbar->setPageSize (int(maxLineWidth), int(getTextWidth())); + hbar->setPageSize (int(max_line_width), int(getTextWidth())); hbar->calculateSliderValues(); if ( isShown() && isHorizontallyScrollable() ) @@ -272,7 +272,7 @@ void FTextView::clear() data.shrink_to_fit(); xoffset = 0; yoffset = 0; - maxLineWidth = 0; + max_line_width = 0; vbar->setMinimum(0); vbar->setValue(0); @@ -484,7 +484,7 @@ void FTextView::adjustSize() const std::size_t width = getWidth(); const std::size_t height = getHeight(); const int last_line = int(getRows()); - const int max_width = int(maxLineWidth); + const int max_width = int(max_line_width); if ( xoffset >= max_width - int(width) - nf_offset ) xoffset = max_width - int(width) - nf_offset - 1; @@ -555,8 +555,8 @@ std::size_t FTextView::getTextWidth() //---------------------------------------------------------------------- void FTextView::init() { - initScrollbar (vbar, fc::vertical, this, &FTextView::cb_VBarChange); - initScrollbar (hbar, fc::horizontal, this, &FTextView::cb_HBarChange); + initScrollbar (vbar, fc::vertical, this, &FTextView::cb_vbarChange); + initScrollbar (hbar, fc::horizontal, this, &FTextView::cb_hbarChange); const auto& wc = getFWidgetColors(); setForegroundColor (wc.dialog_fg); setBackgroundColor (wc.dialog_bg); @@ -744,7 +744,7 @@ void FTextView::changeOnResize() } //---------------------------------------------------------------------- -void FTextView::cb_VBarChange (FWidget*, FDataPtr) +void FTextView::cb_vbarChange (FWidget*, FDataPtr) { const FScrollbar::sType scrollType = vbar->getScrollType(); static constexpr int wheel_distance = 4; @@ -795,7 +795,7 @@ void FTextView::cb_VBarChange (FWidget*, FDataPtr) } //---------------------------------------------------------------------- -void FTextView::cb_HBarChange (FWidget*, FDataPtr) +void FTextView::cb_hbarChange (FWidget*, FDataPtr) { const FScrollbar::sType scrollType = hbar->getScrollType(); static constexpr int wheel_distance = 4; diff --git a/src/fwidget.cpp b/src/fwidget.cpp index fcea2172..cc99d2cc 100644 --- a/src/fwidget.cpp +++ b/src/fwidget.cpp @@ -1009,7 +1009,7 @@ void FWidget::show() show_root_widget = this; } - draw(); + draw(); // Draw the widget flags.hidden = false; flags.shown = true; diff --git a/src/include/final/flabel.h b/src/include/final/flabel.h index fdb2ecd1..7477a0fc 100644 --- a/src/include/final/flabel.h +++ b/src/include/final/flabel.h @@ -122,7 +122,7 @@ class FLabel : public FWidget void onAccel (FAccelEvent*) override; // Callback method - void cb_accel_widget_destroyed (FWidget*, FDataPtr); + void cb_accelWidgetDestroyed (FWidget*, FDataPtr); private: // Constants diff --git a/src/include/final/flistbox.h b/src/include/final/flistbox.h index 02950acc..396a4940 100644 --- a/src/include/final/flistbox.h +++ b/src/include/final/flistbox.h @@ -309,8 +309,8 @@ class FListBox : public FWidget listBoxItems::iterator index2iterator (std::size_t); listBoxItems::const_iterator index2iterator (std::size_t index) const; // Callback methods - void cb_VBarChange (FWidget*, FDataPtr); - void cb_HBarChange (FWidget*, FDataPtr); + void cb_vbarChange (FWidget*, FDataPtr); + void cb_hbarChange (FWidget*, FDataPtr); // Function Pointer lazyInsert lazy_inserter{}; diff --git a/src/include/final/flistview.h b/src/include/final/flistview.h index 05268c18..43c6a383 100644 --- a/src/include/final/flistview.h +++ b/src/include/final/flistview.h @@ -441,8 +441,8 @@ class FListView : public FWidget bool hasCheckableItems() const; // Callback methods - void cb_VBarChange (FWidget*, FDataPtr); - void cb_HBarChange (FWidget*, FDataPtr); + void cb_vbarChange (FWidget*, FDataPtr); + void cb_hbarChange (FWidget*, FDataPtr); // Data members iterator root{}; diff --git a/src/include/final/fmenu.h b/src/include/final/fmenu.h index a3ce91a5..ac9cbe2d 100644 --- a/src/include/final/fmenu.h +++ b/src/include/final/fmenu.h @@ -121,7 +121,7 @@ class FMenu : public FWindow, public FMenuList void onAccel (FAccelEvent*) override; // Callback method - void cb_menuitem_toggled (FWidget*, FDataPtr); + void cb_menuitemToggled (FWidget*, FDataPtr); private: // Constants diff --git a/src/include/final/fmenubar.h b/src/include/final/fmenubar.h index 76144dd1..58930323 100644 --- a/src/include/final/fmenubar.h +++ b/src/include/final/fmenubar.h @@ -98,7 +98,7 @@ class FMenuBar : public FWindow, public FMenuList void onAccel (FAccelEvent*) override; // Callback methods - void cb_item_deactivated (FWidget*, FDataPtr); + void cb_itemDeactivated (FWidget*, FDataPtr); private: // Constants diff --git a/src/include/final/fscrollview.h b/src/include/final/fscrollview.h index 4d76c047..53c3523d 100644 --- a/src/include/final/fscrollview.h +++ b/src/include/final/fscrollview.h @@ -171,8 +171,8 @@ class FScrollView : public FWidget void setViewportCursor(); // Callback methods - void cb_VBarChange (FWidget*, FDataPtr); - void cb_HBarChange (FWidget*, FDataPtr); + void cb_vbarChange (FWidget*, FDataPtr); + void cb_hbarChange (FWidget*, FDataPtr); // Data members FRect scroll_geometry{1, 1, 1, 1}; @@ -185,8 +185,8 @@ class FScrollView : public FWidget bool border{true}; bool use_own_print_area{false}; bool update_scrollbar{true}; - fc::scrollBarMode vMode{fc::Auto}; // fc:Auto, fc::Hidden or fc::Scroll - fc::scrollBarMode hMode{fc::Auto}; + fc::scrollBarMode v_mode{fc::Auto}; // fc:Auto, fc::Hidden or fc::Scroll + fc::scrollBarMode h_mode{fc::Auto}; }; // FScrollView inline functions diff --git a/src/include/final/ftextview.h b/src/include/final/ftextview.h index bc74045f..80083b2a 100644 --- a/src/include/final/ftextview.h +++ b/src/include/final/ftextview.h @@ -157,8 +157,8 @@ class FTextView : public FWidget void changeOnResize(); // Callback methods - void cb_VBarChange (FWidget*, FDataPtr); - void cb_HBarChange (FWidget*, FDataPtr); + void cb_vbarChange (FWidget*, FDataPtr); + void cb_hbarChange (FWidget*, FDataPtr); // Data members FStringList data{}; @@ -169,7 +169,7 @@ class FTextView : public FWidget int xoffset{0}; int yoffset{0}; int nf_offset{0}; - std::size_t maxLineWidth{0}; + std::size_t max_line_width{0}; }; // FListBox inline functions @@ -213,7 +213,7 @@ inline const FString FTextView::getClassName() const //---------------------------------------------------------------------- inline std::size_t FTextView::getColumns() const -{ return maxLineWidth; } +{ return max_line_width; } //---------------------------------------------------------------------- inline std::size_t FTextView::getRows() const @@ -256,7 +256,7 @@ inline void FTextView::deleteLine (int pos) //---------------------------------------------------------------------- inline bool FTextView::isHorizontallyScrollable() -{ return bool( maxLineWidth > getTextWidth() ); } +{ return bool( max_line_width > getTextWidth() ); } //---------------------------------------------------------------------- inline bool FTextView::isVerticallyScrollable()