Commit graph

43 commits

Author SHA1 Message Date
Andrea Blankenstijn a54dc9c2b2 some comment edits, readme draft 2021-08-27 16:08:14 +02:00
Andrea Blankenstijn d8f56e0e5f Delete OpaqueStruct and use directly fancy pointers now that I know
how to set the deleter correctly.
2021-08-26 18:59:52 +02:00
Andrea Blankenstijn 5f341149fa clang-format header sorting conf fix. Some spacing and order of
include/declaration changes.
2021-08-24 00:12:57 +02:00
Andrea Blankenstijn 299b39ad28 little tweaks here and there. 2021-08-24 00:10:09 +02:00
Andrea Blankenstijn dc243a9fdf little fixes here and there. 2021-08-24 00:00:28 +02:00
Andrea Blankenstijn f6ae2c51e8 Comment a bit the code. 2021-08-23 23:50:14 +02:00
Andrea Blankenstijn 5020eab828 remove some asserts and use exceptions for the remaining ones. 2021-08-23 18:41:11 +02:00
Andrea Blankenstijn 0c0b03aeac fix sdl include path 2021-08-23 00:00:57 +02:00
Andrea Blankenstijn a19d2ea6bd - mark as const every single read only variable.
- mark as const every pointer that can be const.
- in implementation mark const args passed by value that are meant to be read-only.
- wrap in a lambda complex initializations of (const) values.
- argument passing:
  - pass by value arguments of cheap-to-copy types or meant to be copied
    anyway.
  - pass by (const) reference args not meant to outlive called
    function scope and not cheap-to-copy.
  - pass (const) pointers to (const) args when null is a valid option
    and pointed data aren't expected to outlive function scope.
  - use string_view for non-owned strings (not meant to outlive function
    scope).
  - use span for collection types like vector and arrays.
  - fancy pointers passing:
    - pass by value if a reference will be held:
    - pass by const reference if a reference _may_ be hell.
    - when no references are meant to be held:
        - dereference the pointer to pass the pointed data by reference
          if null is not an option.
        - pass the underlying raw pointer if null is an option.
… and random subtle changes and fixes here and there that I forgot to mention.
2021-08-22 00:57:55 +02:00
Andrea Blankenstijn 76d319fb69 trash commit, style, small api changes (ref vs ptr) and who knows 2021-08-19 15:00:44 +02:00
Andrea Blankenstijn 6a14cd635d almost finished work on interface-impl separation 2021-08-18 18:27:48 +02:00
Andrea Blankenstijn eb777db6dd layout interface-api separation 2021-08-17 12:10:41 +02:00
Andrea Blankenstijn fbaabd5aa7 button interface-api separation 2021-08-17 12:08:38 +02:00
Andrea Blankenstijn 0eb300ceeb caption interface-api separation 2021-08-17 11:39:07 +02:00
Andrea Blankenstijn bb934d4f86 separate widget interface-implementation 2021-08-17 00:27:51 +02:00
Andrea Blankenstijn d9eccc940a rewrite how events are held 2021-08-16 23:13:59 +02:00
Andrea Blankenstijn 3458ca123b pass by value vs by ref thing 2021-08-14 16:37:42 +02:00
Andrea Blankenstijn 6ba5d7fc1c enable widget debug outline when BWIDGETS_DEBUG is defined 2021-08-14 12:06:21 +02:00
Andrea Blankenstijn b11d574d9c constructor style refactor 2021-08-14 11:53:51 +02:00
Andrea Blankenstijn 280575a0e2 make aligned layout orientation a template parameter. 2021-08-14 11:48:24 +02:00
Andrea Blankenstijn 50a324cc95 button border gradient lambda deduplication 2021-08-14 10:20:00 +02:00
Andrea Blankenstijn 151c502472 explicitly initialize value to shut up linter 2021-08-14 09:25:18 +02:00
Andrea Blankenstijn f78fa82ae8 better smart ptr owner semantic 2021-08-12 23:27:09 +02:00
Andrea Blankenstijn d7abc49d07 remove useless calls to Color::operator() 2021-08-12 16:38:55 +02:00
Andrea Blankenstijn d78a6b0f0e initialize static members in source file. 2021-08-12 16:04:02 +02:00
Andrea Blankenstijn 43dd6ab820 use raw ptr instead of fancy one when no references are kept after function
exit.
2021-08-12 15:55:47 +02:00
Andrea Blankenstijn 79f83abe3b smart ptr and a bit of doc 2021-08-10 23:48:19 +02:00
Andrea Blankenstijn e71a16208b noexcept correctness intent 2021-08-08 16:04:33 +02:00
Andrea Blankenstijn 4f82826bbc constness 2021-08-08 14:30:56 +02:00
Andrea Blankenstijn cab6fa0cf4 wip general code improvement 2021-08-07 20:11:28 +02:00
Andrea Blankenstijn 2d4c6e3694 Extract linear and smoothstep functions. Minor tweaks. 2021-08-01 11:19:06 +02:00
Andrea Blankenstijn 13bdb970c0 config clang-tidy linter and fix code based on linting err/warn 2021-07-30 21:37:14 +02:00
Andrea Blankenstijn 3b6e900a22 format code with custom clang-format style 2021-07-29 16:06:03 +02:00
Andrea Blankenstijn 80576bdab8 fix memory leak in text rendering 2021-07-27 22:15:43 +02:00
Andrea Blankenstijn 55fbd59c36 half workaround to fix corner glitch in draw_rect and minor changes 2021-07-26 23:48:04 +02:00
Andrea Blankenstijn 369e1c1f1b 'fix' input widget size and set back dbg outline to vp boundaries 2021-07-24 22:07:28 +02:00
Andrea Blankenstijn ef294d67fc rewrite template to discard pointers 2021-07-24 08:28:51 +02:00
Andrea Blankenstijn cc0bed2287 fix numeric input initial value to be in range 2021-07-23 22:32:56 +02:00
Andrea Blankenstijn 4b87af7bc4 various changes and fixes 2021-07-23 20:08:52 +02:00
Andrea Blankenstijn 94f4536f45 fix layout margins 2021-07-20 15:05:14 +02:00
Andrea Blankenstijn ec0d85b97a remove unused caption vertical alignment as we use all viewport height 2021-07-20 12:29:17 +02:00
Andrea Blankenstijn 30c4205dab some fixes and working sdl wrapper 2021-07-19 23:50:50 +02:00
Andrea Blankenstijn dd3ff9358a big hierarchy refactor, some little changes, add Font class 2021-07-18 18:26:12 +02:00