Commit Graph

128 Commits

Author SHA1 Message Date
Andrea Blankenstijn bac66748ec Merge branch 'wip' 2021-12-23 13:56:08 +01:00
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 880748276a input interface-impl separation 2021-08-17 18:00:27 +02:00
Andrea Blankenstijn 76a8bb6140 inheritance fixes 2021-08-17 17:59:34 +02:00
Andrea Blankenstijn eb777db6dd layout interface-api separation 2021-08-17 12:10:41 +02:00
Andrea Blankenstijn 620b66d622 add missing caption impl header 2021-08-17 12:09:03 +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 9e6e0a1d4c rewrite how events are held 2021-08-16 23:14:29 +02:00
Andrea Blankenstijn d9eccc940a rewrite how events are held 2021-08-16 23:13:59 +02:00
Andrea Blankenstijn 07f7061c20 public api before private members 2021-08-15 16:13:05 +02:00
Andrea Blankenstijn 2c344ecee5 well, finally I don't doxygen for the moment 2021-08-15 16:12:45 +02:00
Andrea Blankenstijn 2d21c6e320 aesthetic 2021-08-14 16:45:30 +02:00
Andrea Blankenstijn 7fcb8b84a9 explicit single arg ctor 2021-08-14 16:44:47 +02:00
Andrea Blankenstijn 8b69227fe2 fix success_or_throw 2021-08-14 16:43:25 +02:00
Andrea Blankenstijn 3458ca123b pass by value vs by ref thing 2021-08-14 16:37:42 +02:00
Andrea Blankenstijn 478ed90d1f use a lambda instead of a function for atexit 2021-08-14 12:19:16 +02:00
Andrea Blankenstijn 58300d08d5 owner semantic "maybe be shared owner" (const shared_ptr&) 2021-08-14 12:14:34 +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 718af15b07 don't inherit directly from std::excption but from derived type and use their constructor. 2021-08-14 11:04:48 +02:00
Andrea Blankenstijn 50a324cc95 button border gradient lambda deduplication 2021-08-14 10:20:00 +02:00
Andrea Blankenstijn ab34a95027 fix error checking 2021-08-14 10:18:31 +02:00
Andrea Blankenstijn 3570cf301a format code 2021-08-14 09:25:28 +02:00
Andrea Blankenstijn 151c502472 explicitly initialize value to shut up linter 2021-08-14 09:25:18 +02:00
Andrea Blankenstijn 524f7511af exception: default 'what' to 'unknown' 2021-08-14 09:24:19 +02:00
Andrea Blankenstijn 7c5277dabd They say members defined in header are implicitly inline.
Also remove the static from static inline (is that C specific?)
2021-08-14 09:17:51 +02:00
Andrea Blankenstijn 5476836208 Put operator overloads for Size outside class 2021-08-13 22:04:10 +02:00
Andrea Blankenstijn f0e89f837b Simplify exceptions 2021-08-13 22:01:14 +02:00
Andrea Blankenstijn e52b55f460 delete default copy/move ctor/operator=, default default ctor and
destructor
2021-08-13 16:11:19 +02:00
Andrea Blankenstijn f78fa82ae8 better smart ptr owner semantic 2021-08-12 23:27:09 +02:00
Andrea Blankenstijn 494b638e2c use unique_ptr in layout 2021-08-12 23:17:00 +02:00
Andrea Blankenstijn d7abc49d07 remove useless calls to Color::operator() 2021-08-12 16:38:55 +02:00
Andrea Blankenstijn 86c28dd36b use std::chrono instead of SDL_GetTicks 2021-08-12 16:30:00 +02:00
Andrea Blankenstijn 5cb15abe11 code formatting. 2021-08-12 16:10:49 +02:00
Andrea Blankenstijn d1cd97809e littles things 2021-08-12 16:09:26 +02:00
Andrea Blankenstijn d3be108df6 don't pass by ref scalar types, copy them. 2021-08-12 16:08:08 +02:00
Andrea Blankenstijn 85837167fe fix: layout didn't call Widget constructor. 2021-08-12 16:06:33 +02:00