1023 Commits

Author SHA1 Message Date
Thom Chiovoloni
a475ff90e9 rename config_windows_memory_compact_timer => config_memory_compact_timer to match c++ 2021-02-01 08:37:31 -08:00
Thom Chiovoloni
f5cb071844 Fix worthwhile tests 2021-02-01 08:37:31 -08:00
Thom Chiovoloni
a359c3940f Update pointless test 2021-02-01 08:37:31 -08:00
Thom Chiovoloni
a6732b9984 Note that tables aren't quite supported yet in readme 2021-02-01 08:37:31 -08:00
Thom Chiovoloni
e6ca1d070e Quickly update an inaccuracy about winit in README 2021-02-01 08:37:31 -08:00
Thom Chiovoloni
3c24fb4dc6 Changelog note for 1.80 2021-02-01 08:37:31 -08:00
Thom Chiovoloni
53828505ed Fix compile errors with 1.80 update 2021-02-01 08:37:31 -08:00
Thom Chiovoloni
7f5b74e8a4 Re-bindgen 2021-02-01 08:37:31 -08:00
Thom Chiovoloni
fc6366c0ae Run update-cimgui-output 2021-02-01 08:37:31 -08:00
Thom Chiovoloni
4cd6ec8294 Add imgui_tables to include_all_imgui.cpp 2021-02-01 08:37:31 -08:00
Thom Chiovoloni
1c312d3a0b Update submodule for imgui 1.80 2021-02-01 08:37:31 -08:00
Thom Chiovoloni
59970d670e Constify a large number of fns 2021-02-01 03:00:04 -08:00
Thom Chiovoloni
4f1cde06f2 ImColor changes and improvements:
- Renamed to `ImColor32` to avoid confusion with `ImColor` from the C++.
  code: https://github.com/ocornut/imgui/blob/9499afdf/imgui.h#L2180
    - Eventually I'd probably like to add something mirroring the actual
      `ImColor`.

- Now supports construction and access from `const fn` where possible.
    - Still impossible for the `f32` APIs

- Now supports `.r`/`.g`/`.b`/.a` field access (read and write), by way
  of a new type `imgui::color::ImColor32Fields`, which essentially
  exists just to serve this purpose. This is a bit cludgey, but lets us
  provide the ability for reading and writing `r/g/b/a` values without
  adding many `fn get_r(self) -> u8` and `fn set_r(&mut self, r: u8);`
  style functions.

- No longer requires FFI calls to construct from RGB floats.
    - This gives much more freedom to the optimizer, as external calls
      are impenetrable optimization barriers (It has to pessimistially
      assume that they read/write to all globally accessable memory, and
      must be called in the exact order that is listed).
    - Also, it allows inlining these calls, and avoid computing the same
      value twice (if the args are the same).

    - Also improves usage from IDEs, debuggers, etc, and avoids a rare
      possibility of UB if NaN was passed in (however, this almost
      certainly could only cause problems if cross-lang LTO was used,
      which I believe we don't support).

    - This code is more complex than needed, but was taken from another
      project of mine (functions were renamed to line up with imgui's
      names), and has good (literally exhaustive) test coverage.

    - Unfortunately, float arithmetic in const fn is still not allowed,
      so for now these aren't usable `const fn`.

- Added utility constants to mirror the `IM_COL32_WHITE`,
  `IM_COL32_BLACK`, `IM_COL32_BLACK_TRANS` constants.
2021-02-01 01:45:39 -08:00
Thom Chiovoloni
17be09eaef Fixup changelog, add missing entries, and move it to use 4-space indent and not 2 2020-12-31 21:06:47 -08:00
nsf
171d86aea1 Refactor WindowDrawList into DrawListMut and fix #413.
- Rename WindowDrawList -> DrawListMut. It's not about window draw lists, but
  about background/foreground draw lists as well. The naming was not an easy
  choice, but seems like in rust it's a common convention to add a Mut suffix for
  mutable entities. Imgui-rs already has DrawList and it acts as an immutable
  reference type for rendering implementations to consume. Hence the name
  DrawListMut, which becomes a mutable reference to draw list with methods
  to modify it.
- Add Ui::get_foreground_draw_list(). Same as Ui::get_background_draw_list()
  but for foreground.
- Add draw_list example which shows the use of all three draw lists
  (window, bg, fg).
2020-12-31 20:20:36 -08:00
Thom Chiovoloni
81e21f5853 Whoops, missed a spot 2020-12-31 19:32:44 -08:00
Thom Chiovoloni
64a8d3260d Attempt to bludgeon the winit/glium/gfx versions into submission 2020-12-31 19:32:44 -08:00
Benedikt Mandelkow
7fce85fe60 update changelog 2020-12-31 13:31:53 -08:00
Benedikt Mandelkow
9724686118 inline calls to key_index into methods which operate on keys
to make them easier to call for the user

closes #415
2020-12-31 13:31:53 -08:00
henbr
1ea6073821 fix, make items_count non-optional 2020-12-31 13:06:29 -08:00
henbr
936e63bdfa Add ListClipper wrapper 2020-12-31 13:06:29 -08:00
Thom Chiovoloni
65bfc1469e Use compare_exchange and not compare_and_swap 2020-12-31 13:06:04 -08:00
noxabellus
eada611c2c Fix for default cursor on linux with winit-support
* Changes `to_winit_cursor` to give MouseCursor::Default for Arrow
2020-12-19 17:06:18 -08:00
Thom Chiovoloni
59f3559224 Fix readme link 2020-12-16 17:54:32 -08:00
Thom Chiovoloni
18c02472fc Prep release 0.6.1 2020-12-16 17:53:16 -08:00
dskkato
126d5184f6 Use Path to extract file name. 2020-12-16 17:40:30 -08:00
dkato
02b8c13174 Use MAIN_SEPARATOR to make consistent behavior. 2020-12-16 17:40:30 -08:00
Willem Verstraeten
07cc96363f Support both glium 0.28 and 0.29 2020-12-16 17:39:57 -08:00
Willem Verstraeten
7e2293bde6 support winit-0.24 2020-12-15 20:47:54 -08:00
Willem Verstraeten
9210130872 added richer support for ListBox 2020-12-13 10:54:35 -08:00
Thom Chiovoloni
e7b8af5939 Fix CI 2020-12-07 21:17:13 -08:00
Thom Chiovoloni
820a197bab Make pre-bindgened output more portable and support no_std (still requires a libc, though) 2020-12-07 21:17:13 -08:00
Thom Chiovoloni
4f5eba718f Replace imgui-sys-bindgen with a newly-added xtask setup 2020-12-07 21:17:13 -08:00
Thom Chiovoloni
60847630df Add 'Blank Issue' template 2020-12-06 09:34:37 -08:00
Thom Chiovoloni
73ae71229b I'm a dummy 2020-12-06 09:32:21 -08:00
Thom Chiovoloni
04fce1ed28 Readme, ci 2020-12-06 09:32:21 -08:00
Thom Chiovoloni
1eb2a3e272 Ugh, okay, alright, imgui-sys-bindgen is a problem for another day 2020-12-06 09:32:21 -08:00
Thom Chiovoloni
0df089ab29 Move to virtual workspace 2020-12-06 09:32:21 -08:00
Thom Chiovoloni
413ecc05a0 Don't share target cache between lint and tests (CI) 2020-12-06 02:24:59 -08:00
Thom Chiovoloni
84e041d740 cargo clippy 2020-12-06 02:24:59 -08:00
Thom Chiovoloni
79a61ca46d cargo fmt 2020-12-06 02:24:59 -08:00
Thom Chiovoloni
5bf5c54447 Switch to SCU build (aka 'Single File' or 'Unity build') for imgui/cimgui code 2020-12-06 02:24:59 -08:00
Thom Chiovoloni
63a4ae45a9 Use restore-keys in gha caching 2020-12-05 23:32:54 -08:00
Thom Chiovoloni
12d6f03776 Add caching to CI 2020-12-05 23:32:54 -08:00
Thom Chiovoloni
fde0336af2 Fix a couple missed clippy issues 2020-12-05 23:32:54 -08:00
Thom Chiovoloni
3a1aa3a684 Format again 2020-12-05 23:32:54 -08:00
Thom Chiovoloni
e585291e4d fix lint errors and ensure examples actually are linted 2020-12-05 23:32:54 -08:00
Thom Chiovoloni
f375007f26 remove github actions boilerplate and redundant tasks, increase GHA parallelism 2020-12-05 23:32:54 -08:00
Thom Chiovoloni
535b073871 Avoid dropping mouse events where press/release is on the same frame in imgui-winit-support 2020-12-05 23:32:54 -08:00
Thom Chiovoloni
4e7990b157 Relax orderings in window_draw_list (and make it actually atomic) 2020-12-05 23:32:54 -08:00