From 1cce7e1096292df43819bb6198b2a9daa61abf94 Mon Sep 17 00:00:00 2001 From: Imberflur Date: Tue, 26 Feb 2019 07:52:49 -0500 Subject: [PATCH] use new ui images for bag, fix flickering of bag Former-commit-id: ac93916d648ad14cca142ac68e39dcc940bfe5f7 --- voxygen/src/menu/test_hud.rs | 77 +++++++++++-------- voxygen/test_assets/hud/bag/.gitattributes | 1 + voxygen/test_assets/hud/bag/bg.png | 3 + .../test_assets/hud/bag/grid/.gitattributes | 1 + voxygen/test_assets/hud/bag/grid/Back.png | 3 + voxygen/test_assets/hud/bag/grid/Bag_Grid.png | 3 + .../hud/bag/grid/Bag_Grid_Border.png | 3 + .../hud/bag/grid/Bag_Grid_Border_MO.png | 3 + .../hud/bag/grid/Bag_Grid_Border_Pushed.png | 3 + .../test_assets/hud/bag/icon/.gitattributes | 1 + voxygen/test_assets/hud/bag/icon/0_bag.png | 3 + .../test_assets/hud/bag/icon/1_bag_hover.png | 3 + .../test_assets/hud/bag/icon/2_bag_press.png | 3 + .../test_assets/hud/bag/icon/3_bag_open.png | 3 + .../hud/bag/icon/4_bag_open_hover.png | 3 + .../hud/bag/icon/5_bag_open_press.png | 3 + .../test_assets/hud/menu/main/.gitattributes | 1 + .../menu/main/menu_bottom.png} | 0 .../menu/main/menu_button.png} | 0 .../menu/main/menu_mid.png} | 0 .../menu/main/menu_top.png} | 0 voxygen/test_assets/hud/x/.gitattributes | 1 + voxygen/test_assets/hud/x/0_x.png | 3 + voxygen/test_assets/hud/x/1_x_hover.png | 3 + voxygen/test_assets/hud/x/2_x_press.png | 3 + voxygen/test_assets/test_bag.png | 3 - voxygen/test_assets/test_bag_contents.png | 3 - voxygen/test_assets/test_bag_hover.png | 3 - voxygen/test_assets/test_bag_press.png | 3 - voxygen/test_assets/test_close_btn.png | 3 - voxygen/test_assets/test_close_btn_hover.png | 3 - voxygen/test_assets/test_close_btn_press.png | 3 - 32 files changed, 96 insertions(+), 52 deletions(-) create mode 100644 voxygen/test_assets/hud/bag/.gitattributes create mode 100644 voxygen/test_assets/hud/bag/bg.png create mode 100644 voxygen/test_assets/hud/bag/grid/.gitattributes create mode 100644 voxygen/test_assets/hud/bag/grid/Back.png create mode 100644 voxygen/test_assets/hud/bag/grid/Bag_Grid.png create mode 100644 voxygen/test_assets/hud/bag/grid/Bag_Grid_Border.png create mode 100644 voxygen/test_assets/hud/bag/grid/Bag_Grid_Border_MO.png create mode 100644 voxygen/test_assets/hud/bag/grid/Bag_Grid_Border_Pushed.png create mode 100644 voxygen/test_assets/hud/bag/icon/.gitattributes create mode 100644 voxygen/test_assets/hud/bag/icon/0_bag.png create mode 100644 voxygen/test_assets/hud/bag/icon/1_bag_hover.png create mode 100644 voxygen/test_assets/hud/bag/icon/2_bag_press.png create mode 100644 voxygen/test_assets/hud/bag/icon/3_bag_open.png create mode 100644 voxygen/test_assets/hud/bag/icon/4_bag_open_hover.png create mode 100644 voxygen/test_assets/hud/bag/icon/5_bag_open_press.png create mode 100644 voxygen/test_assets/hud/menu/main/.gitattributes rename voxygen/test_assets/{test_menu_bottom.png => hud/menu/main/menu_bottom.png} (100%) rename voxygen/test_assets/{test_menu_button_blank.png => hud/menu/main/menu_button.png} (100%) rename voxygen/test_assets/{test_menu_midsection.png => hud/menu/main/menu_mid.png} (100%) rename voxygen/test_assets/{test_menu_top.png => hud/menu/main/menu_top.png} (100%) create mode 100644 voxygen/test_assets/hud/x/.gitattributes create mode 100644 voxygen/test_assets/hud/x/0_x.png create mode 100644 voxygen/test_assets/hud/x/1_x_hover.png create mode 100644 voxygen/test_assets/hud/x/2_x_press.png delete mode 100644 voxygen/test_assets/test_bag.png delete mode 100644 voxygen/test_assets/test_bag_contents.png delete mode 100644 voxygen/test_assets/test_bag_hover.png delete mode 100644 voxygen/test_assets/test_bag_press.png delete mode 100644 voxygen/test_assets/test_close_btn.png delete mode 100644 voxygen/test_assets/test_close_btn_hover.png delete mode 100644 voxygen/test_assets/test_close_btn_press.png diff --git a/voxygen/src/menu/test_hud.rs b/voxygen/src/menu/test_hud.rs index 722940154f..3f738ec856 100644 --- a/voxygen/src/menu/test_hud.rs +++ b/voxygen/src/menu/test_hud.rs @@ -39,36 +39,42 @@ widget_ids!{ // TODO: make macro to mimic widget_ids! for images ids or find another solution to simplify addition of new images. struct Imgs { - menu_button: ImgId, bag: ImgId, bag_hover: ImgId, bag_press: ImgId, + bag_open: ImgId, + bag_open_hover: ImgId, + bag_open_press: ImgId, bag_contents: ImgId, - menu_top: ImgId, - menu_mid: ImgId, - menu_bot: ImgId, close_button: ImgId, close_button_hover: ImgId, close_button_press: ImgId, + menu_top: ImgId, + menu_mid: ImgId, + menu_bot: ImgId, + menu_button: ImgId, } impl Imgs { fn new(ui: &mut Ui, renderer: &mut Renderer) -> Imgs { let mut load = |filename| { - let image = image::open(&[env!("CARGO_MANIFEST_DIR"), "/test_assets/", filename].concat()).unwrap(); + let image = image::open(&[env!("CARGO_MANIFEST_DIR"), "/test_assets/hud/", filename].concat()).unwrap(); ui.new_image(renderer, &image).unwrap() }; Imgs { - menu_button: load("test_menu_button_blank.png"), - bag: load("test_bag.png"), - bag_hover: load("test_bag_hover.png"), - bag_press: load("test_bag_press.png"), - bag_contents: load("test_bag_contents.png"), - menu_top: load("test_menu_top.png"), - menu_mid: load("test_menu_midsection.png"), - menu_bot: load("test_menu_bottom.png"), - close_button: load("test_close_btn.png"), - close_button_hover: load("test_close_btn_hover.png"), - close_button_press: load("test_close_btn_press.png"), + bag: load("bag/icon/0_bag.png"), + bag_hover: load("bag/icon/1_bag_hover.png"), + bag_press: load("bag/icon/2_bag_press.png"), + bag_open: load("bag/icon/3_bag_open.png"), + bag_open_hover: load("bag/icon/4_bag_open_hover.png"), + bag_open_press: load("bag/icon/5_bag_open_press.png"), + bag_contents: load("bag/bg.png"), + close_button: load("x/0_x.png"), + close_button_hover: load("x/1_x_hover.png"), + close_button_press: load("x/2_x_press.png"), + menu_button: load("menu/main/menu_button.png"), + menu_top: load("menu/main/menu_top.png"), + menu_mid: load("menu/main/menu_mid.png"), + menu_bot: load("menu/main/menu_bottom.png"), } } } @@ -115,35 +121,44 @@ impl TestHud { .. } = *self; + // TODO: write some custom widgets to make this stuff simpler + // Check if the bag was clicked + // (can't use .was_clicked() because we are changing the image and this is after setting the widget which causes flickering as it takes a frame to change after the mouse button is lifted) + if ui.widget_input(ids.bag).clicks().left().count() % 2 == 1 { + *bag_open = !*bag_open; + } let ref mut ui_cell = ui.set_widgets(); - // Bag - if Button::image(imgs.bag) - .bottom_right_with_margin(20.0) - .hover_image(if *bag_open { imgs.bag } else { imgs.bag_hover }) - .press_image(if *bag_open { imgs.bag } else { imgs.bag_press }) - .w_h(51.0, 58.0) - .set(ids.bag, ui_cell) - .was_clicked() { - *bag_open = true; - } // Bag contents if *bag_open { // Contents Image::new(imgs.bag_contents) - .w_h(212.0, 246.0) - .x_y_relative_to(ids.bag, -92.0-25.5+12.0, 109.0+29.0-13.0) + .w_h(1504.0/4.0, 1760.0/4.0) + .bottom_right_with_margins(88.0, 68.0) .set(ids.bag_contents, ui_cell); // Close button if Button::image(imgs.close_button) - .w_h(20.0, 20.0) + .w_h(144.0/4.0, 144.0/4.0) .hover_image(imgs.close_button_hover) .press_image(imgs.close_button_press) - .top_right_with_margins_on(ids.bag_contents, 0.0, 10.0) + .top_right_with_margins_on(ids.bag_contents, 0.0, 12.0) .set(ids.bag_close, ui_cell) .was_clicked() { *bag_open = false; } } + // Bag + let (bag_img, bag_hover_img, bag_press_img) = + if *bag_open { + (imgs.bag_open, imgs.bag_open_hover, imgs.bag_open_press) + } else { + (imgs.bag, imgs.bag_hover, imgs.bag_press) + }; + Button::image(bag_img) + .wh([416.0/4.0, 480.0/4.0]) + .bottom_right_with_margin_on(ui_cell.window, 20.0) + .hover_image(bag_hover_img) + .press_image(bag_press_img) + .set(ids.bag, ui_cell); // Attempt to make resizable image based container for buttons // Maybe this could be made into a Widget type if it is useful if *menu_open { @@ -209,4 +224,4 @@ impl TestHud { pub fn render(&self, renderer: &mut Renderer) { self.ui.render(renderer); } -} + } diff --git a/voxygen/test_assets/hud/bag/.gitattributes b/voxygen/test_assets/hud/bag/.gitattributes new file mode 100644 index 0000000000..c091529f36 --- /dev/null +++ b/voxygen/test_assets/hud/bag/.gitattributes @@ -0,0 +1 @@ +*.png filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/voxygen/test_assets/hud/bag/bg.png b/voxygen/test_assets/hud/bag/bg.png new file mode 100644 index 0000000000..f562088c02 --- /dev/null +++ b/voxygen/test_assets/hud/bag/bg.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b1295d8e581f719fd2eb1f4801fb26e9da642443e86620034fbac432761e496 +size 39682 diff --git a/voxygen/test_assets/hud/bag/grid/.gitattributes b/voxygen/test_assets/hud/bag/grid/.gitattributes new file mode 100644 index 0000000000..c091529f36 --- /dev/null +++ b/voxygen/test_assets/hud/bag/grid/.gitattributes @@ -0,0 +1 @@ +*.png filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/voxygen/test_assets/hud/bag/grid/Back.png b/voxygen/test_assets/hud/bag/grid/Back.png new file mode 100644 index 0000000000..01c3c63879 --- /dev/null +++ b/voxygen/test_assets/hud/bag/grid/Back.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b48b5f670e722915151d305469079b20a856a20d451ee6be416217f063628e0 +size 2043 diff --git a/voxygen/test_assets/hud/bag/grid/Bag_Grid.png b/voxygen/test_assets/hud/bag/grid/Bag_Grid.png new file mode 100644 index 0000000000..adabf40109 --- /dev/null +++ b/voxygen/test_assets/hud/bag/grid/Bag_Grid.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f90e30af7b6b8f11e2d9732773dbc29a24664ac6643852b45054dc259c8efdd +size 1920 diff --git a/voxygen/test_assets/hud/bag/grid/Bag_Grid_Border.png b/voxygen/test_assets/hud/bag/grid/Bag_Grid_Border.png new file mode 100644 index 0000000000..932bf75e56 --- /dev/null +++ b/voxygen/test_assets/hud/bag/grid/Bag_Grid_Border.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86934fd89fa92f4f16048ce20e3f7c5c1e8239839487e32cb839ed206beb3412 +size 606 diff --git a/voxygen/test_assets/hud/bag/grid/Bag_Grid_Border_MO.png b/voxygen/test_assets/hud/bag/grid/Bag_Grid_Border_MO.png new file mode 100644 index 0000000000..34c3e84606 --- /dev/null +++ b/voxygen/test_assets/hud/bag/grid/Bag_Grid_Border_MO.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dcfaaa0c384288a547784baadbbe7b249d70bded9446bb9eae0fb74809aeed8 +size 2829 diff --git a/voxygen/test_assets/hud/bag/grid/Bag_Grid_Border_Pushed.png b/voxygen/test_assets/hud/bag/grid/Bag_Grid_Border_Pushed.png new file mode 100644 index 0000000000..1bb729ffff --- /dev/null +++ b/voxygen/test_assets/hud/bag/grid/Bag_Grid_Border_Pushed.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b39c4ff1d2114dcc8c46eaa767f376fffce13b58d73cdecc490f14c979eed492 +size 4618 diff --git a/voxygen/test_assets/hud/bag/icon/.gitattributes b/voxygen/test_assets/hud/bag/icon/.gitattributes new file mode 100644 index 0000000000..c091529f36 --- /dev/null +++ b/voxygen/test_assets/hud/bag/icon/.gitattributes @@ -0,0 +1 @@ +*.png filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/voxygen/test_assets/hud/bag/icon/0_bag.png b/voxygen/test_assets/hud/bag/icon/0_bag.png new file mode 100644 index 0000000000..108c51fc67 --- /dev/null +++ b/voxygen/test_assets/hud/bag/icon/0_bag.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f99d68ab8f028c27bfe88179ca92c5df914dacb6274069308e130422b812e6c +size 2552 diff --git a/voxygen/test_assets/hud/bag/icon/1_bag_hover.png b/voxygen/test_assets/hud/bag/icon/1_bag_hover.png new file mode 100644 index 0000000000..6d783492c3 --- /dev/null +++ b/voxygen/test_assets/hud/bag/icon/1_bag_hover.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e05eecc4ad9f3e2162759cc1f4a06c6b6285eed35a3f019b00825de2ed67f2e +size 5303 diff --git a/voxygen/test_assets/hud/bag/icon/2_bag_press.png b/voxygen/test_assets/hud/bag/icon/2_bag_press.png new file mode 100644 index 0000000000..519438f36d --- /dev/null +++ b/voxygen/test_assets/hud/bag/icon/2_bag_press.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75ece218833cc1f9f673a0496ee5e07f2c6ab2586f5d646aa71cf1f4a96ed789 +size 6251 diff --git a/voxygen/test_assets/hud/bag/icon/3_bag_open.png b/voxygen/test_assets/hud/bag/icon/3_bag_open.png new file mode 100644 index 0000000000..bf7ce1a43c --- /dev/null +++ b/voxygen/test_assets/hud/bag/icon/3_bag_open.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:447b4731423bb34aab24adb3e4ec5bd430c4de7aeb4f6a24f616953354d87069 +size 2607 diff --git a/voxygen/test_assets/hud/bag/icon/4_bag_open_hover.png b/voxygen/test_assets/hud/bag/icon/4_bag_open_hover.png new file mode 100644 index 0000000000..ea50792f05 --- /dev/null +++ b/voxygen/test_assets/hud/bag/icon/4_bag_open_hover.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:beb95fee9977c6571746ece573a964b838fb27645c331abe6c42b9c54623a0ab +size 5455 diff --git a/voxygen/test_assets/hud/bag/icon/5_bag_open_press.png b/voxygen/test_assets/hud/bag/icon/5_bag_open_press.png new file mode 100644 index 0000000000..bdf6ae810a --- /dev/null +++ b/voxygen/test_assets/hud/bag/icon/5_bag_open_press.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:163875b148a1180650bc0fe658e5c08842b0c6568b1ce216c2859f186bcf9d75 +size 6371 diff --git a/voxygen/test_assets/hud/menu/main/.gitattributes b/voxygen/test_assets/hud/menu/main/.gitattributes new file mode 100644 index 0000000000..c091529f36 --- /dev/null +++ b/voxygen/test_assets/hud/menu/main/.gitattributes @@ -0,0 +1 @@ +*.png filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/voxygen/test_assets/test_menu_bottom.png b/voxygen/test_assets/hud/menu/main/menu_bottom.png similarity index 100% rename from voxygen/test_assets/test_menu_bottom.png rename to voxygen/test_assets/hud/menu/main/menu_bottom.png diff --git a/voxygen/test_assets/test_menu_button_blank.png b/voxygen/test_assets/hud/menu/main/menu_button.png similarity index 100% rename from voxygen/test_assets/test_menu_button_blank.png rename to voxygen/test_assets/hud/menu/main/menu_button.png diff --git a/voxygen/test_assets/test_menu_midsection.png b/voxygen/test_assets/hud/menu/main/menu_mid.png similarity index 100% rename from voxygen/test_assets/test_menu_midsection.png rename to voxygen/test_assets/hud/menu/main/menu_mid.png diff --git a/voxygen/test_assets/test_menu_top.png b/voxygen/test_assets/hud/menu/main/menu_top.png similarity index 100% rename from voxygen/test_assets/test_menu_top.png rename to voxygen/test_assets/hud/menu/main/menu_top.png diff --git a/voxygen/test_assets/hud/x/.gitattributes b/voxygen/test_assets/hud/x/.gitattributes new file mode 100644 index 0000000000..c091529f36 --- /dev/null +++ b/voxygen/test_assets/hud/x/.gitattributes @@ -0,0 +1 @@ +*.png filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/voxygen/test_assets/hud/x/0_x.png b/voxygen/test_assets/hud/x/0_x.png new file mode 100644 index 0000000000..bd93effd4e --- /dev/null +++ b/voxygen/test_assets/hud/x/0_x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:209e2a99fcc72f4368bdc95078e7ffc768a49c26f8424dada9629e18d03413e6 +size 1541 diff --git a/voxygen/test_assets/hud/x/1_x_hover.png b/voxygen/test_assets/hud/x/1_x_hover.png new file mode 100644 index 0000000000..9374317427 --- /dev/null +++ b/voxygen/test_assets/hud/x/1_x_hover.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a936f248c0a4f7100a01f92c348ab5abcaf50175512e0b8e4ac1f36df35f5d8 +size 1541 diff --git a/voxygen/test_assets/hud/x/2_x_press.png b/voxygen/test_assets/hud/x/2_x_press.png new file mode 100644 index 0000000000..0bb6c4ca0c --- /dev/null +++ b/voxygen/test_assets/hud/x/2_x_press.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57935e2a746df79ea202a74561cdcf4013ba72de3bd6c97025db0272e85e629e +size 2887 diff --git a/voxygen/test_assets/test_bag.png b/voxygen/test_assets/test_bag.png deleted file mode 100644 index 15f9e9eec1..0000000000 --- a/voxygen/test_assets/test_bag.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:31098af9ddda29a6f78d2d4bebda9c6b45ecda84df2021b7ce3ceaf2c798e6ce -size 3639 diff --git a/voxygen/test_assets/test_bag_contents.png b/voxygen/test_assets/test_bag_contents.png deleted file mode 100644 index 212784bb70..0000000000 --- a/voxygen/test_assets/test_bag_contents.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d4fd2464e1bc2366c64e6349bd41879c754f3697002b0555c558ac3098461d67 -size 31491 diff --git a/voxygen/test_assets/test_bag_hover.png b/voxygen/test_assets/test_bag_hover.png deleted file mode 100644 index 8228704aff..0000000000 --- a/voxygen/test_assets/test_bag_hover.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a39b9b9e992f8b57d6145442446e07bb749bfa526d66782469105753ac09e45f -size 3605 diff --git a/voxygen/test_assets/test_bag_press.png b/voxygen/test_assets/test_bag_press.png deleted file mode 100644 index 3bf4fb6359..0000000000 --- a/voxygen/test_assets/test_bag_press.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e823defa9ae97ef9e5339da8d08cc016533e597cca5786f8bbabfb4e561c68f6 -size 3631 diff --git a/voxygen/test_assets/test_close_btn.png b/voxygen/test_assets/test_close_btn.png deleted file mode 100644 index 07dac94595..0000000000 --- a/voxygen/test_assets/test_close_btn.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c6fd3444d8878648f32a6162080b80ad4ec808d1b44e9984b92b67c48c429f01 -size 1130 diff --git a/voxygen/test_assets/test_close_btn_hover.png b/voxygen/test_assets/test_close_btn_hover.png deleted file mode 100644 index d2a23970a3..0000000000 --- a/voxygen/test_assets/test_close_btn_hover.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:18ed85ca58289444d989ef6ba7f84d14fd2e6bba963fad05810e370e56c02772 -size 1121 diff --git a/voxygen/test_assets/test_close_btn_press.png b/voxygen/test_assets/test_close_btn_press.png deleted file mode 100644 index 3fc8b5eb40..0000000000 --- a/voxygen/test_assets/test_close_btn_press.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:839d03e06b321368c60b65c7c84b1266ce5ce9d4edd9ced8afc89e2f4d018cd3 -size 1084