Description:
Add Images to widgets.
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
@@ -0,0 +1,20 | |||
|
1 | ||
|
2 | using System; | |
|
3 | ||
|
4 | using Num = System.Numerics; | |
|
5 | using Microsoft.Xna.Framework; | |
|
6 | using Microsoft.Xna.Framework.Graphics; | |
|
7 | ||
|
8 | namespace isometricparkfna | |
|
9 | { | |
|
10 | public class ImGuiImageMap : ImageMap | |
|
11 | { | |
|
12 | public static IntPtr ImGuiTexture; | |
|
13 | ||
|
14 | public ImGuiImageMap(int tileWidth, int tileHeight) : base(tileWidth, tileHeight) | |
|
15 | { | |
|
16 | } | |
|
17 | ||
|
18 | ||
|
19 | } | |
|
20 | } |
@@ -80,7 +80,7 | |||
|
80 | 80 | private ImGuiRenderer _imGuiRenderer; |
|
81 | 81 | private DebugWindow debugWindow; |
|
82 | 82 | |
|
83 | public ImageMap imageMap; | |
|
83 | public ImGuiImageMap imageMap; | |
|
84 | 84 | |
|
85 | 85 | public bool show_another_window; |
|
86 | 86 | private bool showInitial; |
@@ -194,7 +194,8 | |||
|
194 | 194 | var texture = Content.Load<Texture2D>(@"solid_tileset"); |
|
195 | 195 | |
|
196 | 196 | ImageMap.ImageMapTexture = Content.Load<Texture2D>(@"photos_converted3"); |
|
197 | this.imageMap = new ImageMap(500, 400); | |
|
197 | ImGuiImageMap.ImGuiTexture = _imGuiRenderer.BindTexture(ImageMap.ImageMapTexture); | |
|
198 | this.imageMap = new ImGuiImageMap(500, 400); | |
|
198 | 199 | |
|
199 | 200 | Line.initialize(GraphicsDevice); |
|
200 | 201 | Quad.Initialize(GraphicsDevice, texture); |
@@ -1,5 +1,4 | |||
|
1 | 1 | |
|
2 | using System; | |
|
3 | 2 | |
|
4 | 3 | using Num = System.Numerics; |
|
5 | 4 | using Microsoft.Xna.Framework; |
@@ -31,12 +31,12 | |||
|
31 | 31 | public static class ContractWindow |
|
32 | 32 | { |
|
33 | 33 | |
|
34 | private static ImageMap map; | |
|
34 | private static ImGuiImageMap map; | |
|
35 | 35 | private static IntPtr _imGuiTexture; |
|
36 | 36 | |
|
37 | 37 | private static Dictionary<string, bool> hadFocus = new Dictionary<string, bool>(); |
|
38 | 38 | |
|
39 | public static void LoadContent(ImGuiRenderer _imGuiRenderer, ImageMap map) | |
|
39 | public static void LoadContent(ImGuiRenderer _imGuiRenderer, ImGuiImageMap map) | |
|
40 | 40 | { |
|
41 | 41 | ContractWindow.map = map; |
|
42 | 42 | |
@@ -82,7 +82,7 | |||
|
82 | 82 | ContractWindow.hadFocus.Add(title, ImGui.IsWindowFocused()); |
|
83 | 83 | } |
|
84 | 84 | |
|
85 | ImGui.Image(_imGuiTexture, new Num.Vector2(250, 200), map.GetSourceUVStart(details.image_index), map.GetSourceUVEnd(details.image_index), Num.Vector4.One, Num.Vector4.Zero); // Here, the previously loaded texture is used | |
|
85 | Widgets.MapImage(map, new Num.Vector2(250, 200), details.image_index); // Here, the previously loaded texture is used | |
|
86 | 86 | |
|
87 | 87 | ImGui.PushFont(italicFont); |
|
88 | 88 | ImGui.TextWrapped(details.description); |
@@ -15,6 +15,7 | |||
|
15 | 15 | |
|
16 | 16 | public const int MENU_BAR_HEIGHT = 20; |
|
17 | 17 | |
|
18 | ||
|
18 | 19 | private static bool activeButton(string label, bool active, Num.Vector4 activeColor, Num.Vector4 activeTextColor) { |
|
19 | 20 | |
|
20 | 21 | if (active) { |
@@ -47,23 +48,10 | |||
|
47 | 48 | ImGui.PopStyleColor(3); |
|
48 | 49 | } |
|
49 | 50 | |
|
50 | var dimensions = ImGui.CalcTextSize(indicator); | |
|
51 | ||
|
52 | ImGui.PushStyleColor(ImGuiCol.Text, indicatorColor); | |
|
53 | //Found through trial and error: | |
|
54 | ImGui.SetCursorPosX(ImGui.GetCursorPosX() -(dimensions.X + 10)); | |
|
55 | ImGui.Text(indicator); | |
|
56 | ImGui.PopStyleColor(); | |
|
57 | ||
|
51 | Widgets.Indicator(indicator, indicatorColor); | |
|
58 | 52 | |
|
59 | if (ImGui.IsItemHovered()) | |
|
60 | { | |
|
61 | var rect = ImGui.GetItemRectMax(); | |
|
62 | ImGui.SetNextWindowPos(rect + new Num.Vector2(15, 0)); | |
|
63 | ImGui.BeginTooltip(); | |
|
64 | ImGui.Text(tooltip); | |
|
65 | ImGui.EndTooltip(); | |
|
66 | } | |
|
53 | Widgets.Tooltip(tooltip); | |
|
54 | ||
|
67 | 55 | |
|
68 | 56 | return result; |
|
69 | 57 | } |
@@ -72,7 +60,7 | |||
|
72 | 60 | { |
|
73 | 61 | if (bridgeEngine.showContractIndicator) |
|
74 | 62 | { |
|
75 |
return Menu.activeButtonIndicator("\ue0c2 Contracts", bridgeEngine.windowStatuses[Window.Contracts], StyleSets.selected, StyleSets.white, "(!)", StyleSets.red, "Contract off |
|
|
63 | return Menu.activeButtonIndicator("\ue0c2 Contracts", bridgeEngine.windowStatuses[Window.Contracts], StyleSets.selected, StyleSets.white, "(!)", StyleSets.red, "Contract offer is about to expire:\n" + string.Join("\n", bridgeEngine.contracts)); | |
|
76 | 64 | } |
|
77 | 65 | else |
|
78 | 66 | { |
@@ -45,6 +45,7 | |||
|
45 | 45 | <Compile Include="DrawVertDeclaration.cs" /> |
|
46 | 46 | <Compile Include="ImGuiRenderer.cs" /> |
|
47 | 47 | <Compile Include="ImageMap.cs" /> |
|
48 | <Compile Include="ImGuiImageMap.cs" /> | |
|
48 | 49 | <Compile Include="FilledRectangle.cs" /> |
|
49 | 50 | <Compile Include="Simulation.cs" /> |
|
50 | 51 | <Compile Include="Logging.cs" /> |
@@ -57,20 +58,7 | |||
|
57 | 58 | <Compile Include="Utils\MathUtils.cs" /> |
|
58 | 59 | <Compile Include="Utils\Extensions.cs" /> |
|
59 | 60 | <Compile Include="Utils\Node.cs" /> |
|
60 |
<Compile Include="UI\ |
|
|
61 | <Compile Include="UI\ContractWindow.cs" /> | |
|
62 | <Compile Include="UI\ContractsWindow.cs" /> | |
|
63 | <Compile Include="UI\DebugWindow.cs" /> | |
|
64 | <Compile Include="UI\Dialog.cs" /> | |
|
65 | <Compile Include="UI\ForestWindow.cs" /> | |
|
66 | <Compile Include="UI\Menu.cs" /> | |
|
67 | <Compile Include="UI\NewsWindow.cs" /> | |
|
68 | <Compile Include="UI\StyleSet.cs" /> | |
|
69 | <Compile Include="UI\StyleSets.cs" /> | |
|
70 | <Compile Include="UI\MainMenu.cs" /> | |
|
71 | <Compile Include="UI\InGameMenu.cs" /> | |
|
72 | <Compile Include="UI\OptionsWindow.cs" /> | |
|
73 | <Compile Include="UI\NewGameWindow.cs" /> | |
|
61 | <Compile Include="UI\*.cs" /> | |
|
74 | 62 | </ItemGroup> |
|
75 | 63 | <ItemGroup> |
|
76 | 64 | <ProjectReference Include="..\FNA\FNA.csproj"> |
You need to be logged in to leave comments.
Login now