201 Commits

Author SHA1 Message Date
Joonas Javanainen
eea2c8b00e
Use nonUDT2 variants of functions that return ImVec2/4 2018-11-29 21:43:52 +02:00
Malik Olivier Boussejra
713d669783 [Ui] Add with_text_wrap_pos
Wrap igPushTextWrapPos and igPopTextWrapPos.
2018-11-23 21:33:14 +09:00
Joonas Javanainen
b4edc01574
Adapt to 1.65 changes 2018-10-12 22:41:15 +03:00
Joonas Javanainen
6ccfbf0305
Merge pull request #154 from SpaceManiac/patch/textures
Add custom texture support (both renderers)
2018-10-05 20:43:17 +03:00
Joonas Javanainen
6d6577bdc4
Merge pull request #160 from SpaceManiac/patch/key_super
Add missing key_super method
2018-10-01 22:14:55 +03:00
Malik Olivier Boussejra
add8bdbd16 [Ui] Add documentation for Ui::close_current_group 2018-09-26 14:28:02 +09:00
Malik Olivier Boussejra
88b5b2e3f5 [popup_modal] Add documentation 2018-09-26 14:27:35 +09:00
Malik Olivier Boussejra
e68047efd1 [Ui] Add popup_modal wrapper 2018-09-26 09:50:03 +09:00
Tad Hardesty
cbe118f4ec Add missing key_super method 2018-09-20 09:33:56 -07:00
Tad Hardesty
a2b69395d1 Rename set_texture_id to set_font_texture_id 2018-09-19 22:29:04 -07:00
Malik Olivier Boussejra
d62845f4c2 [ImGui] Wrap igGetWindowPos 2018-09-19 09:51:17 +09:00
Malik Olivier Boussejra
3b26f6bde9 [ImGui] Wrap igIsWindowFocused
Wrap with three different functions, one for each of the possible values of
ImGuiFocusedFlags given as argument to igIsWindowFocused.
2018-09-13 18:49:33 +09:00
Tad Hardesty
e9b1552f05 Make ImTexture a newtype for additional type safety 2018-09-10 00:59:55 -07:00
Tad Hardesty
fb7ea044e2 Split the ImTexture allocator into a generic struct 2018-09-10 00:54:00 -07:00
Tad Hardesty
456258524e Add simplest possible image support for gfx renderer 2018-09-10 00:40:02 -07:00
Joonas Javanainen
1eab502d01
Add Drop implementation for Ui 2018-08-14 22:42:36 +03:00
Joonas Javanainen
b8a1abf1b7
Add mouse_down accessor function 2018-08-13 23:03:43 +03:00
Joonas Javanainen
21d85afee0
Remove deprecated things 2018-08-12 20:25:43 +03:00
Joonas Javanainen
da9ee9302b
Fixes recommended by clippy 2018-08-12 19:20:14 +03:00
Joonas Javanainen
329f24d221
Fix compilation errors 2018-08-12 14:22:08 +03:00
Joonas Javanainen
319f7aa4c6
Reformat everything 2018-08-12 14:16:56 +03:00
Joonas Javanainen
aa4ae70054
Make HiDPI rendering better
+ use linear filtering in both renderers. Nearest just won't work
  anymore if we have a non-integer scaling factor (which winit can give
  us on 1440p screens for example)
+ pass around FrameSize which has the necessary info with full f64
  precision
+ extra care with conversions to/from f32 and u32 and rounding
2018-08-12 14:16:21 +03:00
OKAMURA, Yasunobu
72ef7f681e fix conflict 2018-06-22 21:28:37 +09:00
Joonas Javanainen
a8cd16ef90
Merge pull request #137 from Gekkio/feature/drawdata-renderer
Renderers take DrawData, not DrawList
2018-06-03 20:25:50 +03:00
Joonas Javanainen
d8676b90de
Merge pull request #133 from michaelfairley/pushid_overloads_take3
Allow using strings and pointers with push_id
2018-06-03 20:25:31 +03:00
Michael Fairley
3a070ff124 Remove use of rust feature newer than oldest supported version 2018-06-03 10:28:54 -05:00
Joonas Javanainen
9537fd83b3
Render callback should be FnOnce
The callback is no longer called multiple times
2018-06-03 11:27:10 +03:00
Joonas Javanainen
70370611e5
Renderers take DrawData, not DrawList 2018-06-03 11:21:13 +03:00
Malik Olivier Boussejra
216e97a2b2
Merge pull request #135 from malikolivier/mouse-helper-functions
Wrap mouse helper functions: is_mouse_double_clicked, is_mouse_released
2018-06-02 19:51:31 +09:00
Malik Olivier Boussejra
7b80950782 [ImGui] Add helper function "is_mouse_released" 2018-06-02 14:31:22 +09:00
Malik Olivier Boussejra
b62cd2eca8 [ImGui] Add helper function "is_mouse_double_clicked" 2018-06-02 14:31:05 +09:00
Malik Olivier Boussejra
91a2648740 [ImGui] Add helper functions for keyboard keys
Can check whether a keyboard key is pressed or not.
2018-06-02 14:14:14 +09:00
Michael Fairley
3655dfa081 Allow using strings and pointers with push_id 2018-05-31 11:25:51 -05:00
Joonas Javanainen
37d556ce3b
Merge pull request #131 from malikolivier/imgui-add-mouse-wheel
[ImGui] Add helper function to get mouse wheel delta
2018-05-30 08:03:56 +03:00
Malik Olivier Boussejra
c2fd3561cb [ImGui] Add helper function to get wheel delta 2018-05-29 13:40:02 +09:00
Malik Olivier Boussejra
6f2b1d76b4 Ui: Add safe wrapper "is_window_hovered" 2018-05-22 00:23:00 +09:00
Malik Olivier Boussejra
500e64d67e [cimgui 1.53.1] StyleVar: Add missing WindowBorderSize
Use WindowBorderSize as replacement for border boolean in window.rs
2018-05-14 11:53:39 +09:00
OKAMURA, Yasunobu
9b283bbad0 Add input_text_multiline 2018-04-30 15:14:31 +09:00
Malik Olivier Boussejra
adfa447d2f [cimgui 1.53.1] Style: Add PopupRounding, FrameBorderSize, WindowBorderSize, PopupBorderSize 2018-04-30 11:43:17 +09:00
Malik Olivier Boussejra
3b231d9838 [cimgui 1.53.1] Rename ChildWindowRounding to ChildRounding
Add deprecation warning for each renamed variant.

However, it will just fail to compile if the deprecated variant is used
inside a match statement. It is not possible to make aliases of variants
in Rust.
2018-04-30 11:28:17 +09:00
Malik Olivier Boussejra
cf15d49e36 [cimgui 1.53.1] Rename Ui::show_test_window to Ui::show_demo_window 2018-04-29 23:49:26 +09:00
Joonas Javanainen
99aeb18299
Merge pull request #116 from michaelfairley/master
Add drag widgets
2018-04-29 11:57:15 +03:00
Michael Fairley
90c096183c Add drag widgets 2018-04-24 15:22:08 -05:00
Malik Olivier Boussejra
454e98037e Do not allow to create coexisting instances of WindowDrawList
At run time, the environment checks that at most one instance of
WindowDrawList exists using a static boolean: WINDOW_DRAW_LIST_LOADED.

If two WindowDrawList could exist at the same time, there would be
several instances of the same `*mut ImDrawList`, which could lead
to unfathomable bad things.

When a WindowDrawList is created, WINDOW_DRAW_LIST_LOADED is set to
true. And when it is dropped, WINDOW_DRAW_LIST_LOADED is set to false.
Creating a new WindowDrawList while WINDOW_DRAW_LIST_LOADED is true
causes a panic.

AtomicBool could have been used instead of a bool for
WINDOW_DRAW_LIST_LOADED. Though it allows to avoid the use of `unsafe { }`,
the construct we are doing is already inherently unsafe.
WindowDrawList and Ui are !Send and !Sync, so they cannot anyway be shared
among threads.
So we'd better be explicit and use an unsafe block with a normal bool.
2018-04-16 15:14:04 +09:00
Malik Olivier Boussejra
734292fdab imgui: Make ChannelsSplit struct visible outside the crate 2018-04-16 15:14:04 +09:00
Malik Olivier Boussejra
95577a0d8c ui: Rename to with_window_draw_list ot get_window_draw_list 2018-04-16 15:14:04 +09:00
Malik Olivier Boussejra
43a2484c22 ImMouseButton: Derive Copy, Clone, Eq, PartialEq, Debug
For convenience.
2018-04-16 15:14:04 +09:00
Malik Olivier Boussejra
eab85ea871 with_window_draw_list: Fix example test
The test was failing because no `main` function was defined, as explained
in the rustdoc documentation [1].

Add the "no_run" flag. This way, there is no attempt to run the test
code. Only compile checks are done. Thus defining a `main` function is
unnecessary.
Moreover "export crate imgui" is implicit, so removed.

[1] https://doc.rust-lang.org/stable/rustdoc/documentation-tests.html#pre-processing-examples.
2018-04-16 15:14:04 +09:00
Malik Olivier Boussejra
664660a090 Add missing imports in example code 2018-04-16 15:14:04 +09:00
Malik Olivier Boussejra
738a9c978e ui: Wrap get_content_region_avail 2018-04-16 15:14:04 +09:00