From 646ca4f63ea8569877f666ea69970b788c03df7f Mon Sep 17 00:00:00 2001 From: Mark Raynsford Date: Thu, 23 Nov 2023 21:18:27 +0000 Subject: [PATCH] Improve handling of menus. --- com.io7m.jsycamore.api/pom.xml | 2 +- .../jsycamore/api/menus/SyMenuItemType.java | 6 +++ .../io7m/jsycamore/api/menus/SyMenuType.java | 8 ++++ com.io7m.jsycamore.awt/pom.xml | 2 +- .../pom.xml | 2 +- .../jsycamore/components/standard/SyMenu.java | 42 ++++++++++++++---- .../standard/internal/SyMenuItemAtom.java | 12 +++-- .../internal/SyMenuItemSeparator.java | 6 +++ .../standard/internal/SyMenuItemSubmenu.java | 28 ++++++++---- com.io7m.jsycamore.font.dejavu/pom.xml | 2 +- com.io7m.jsycamore.font.york/pom.xml | 2 +- com.io7m.jsycamore.generation/pom.xml | 2 +- com.io7m.jsycamore.tests/pom.xml | 2 +- com.io7m.jsycamore.theme.primal/pom.xml | 2 +- .../primal/internal/SyPrimalImageView.java | 6 --- .../primal/internal/SyPrimalMenuBarItem.java | 2 +- .../primal/internal/SyPrimalMenuItem.java | 10 ++++- .../internal/SyPrimalMenuItemTextView.java | 2 +- .../jsycamore/theme/primal/menu_submenu.png | Bin 96 -> 0 bytes .../jsycamore/theme/primal/menu_submenu.xcf | Bin 818 -> 0 bytes .../theme/primal/menu_submenu_selected.png | Bin 92 -> 0 bytes .../theme/primal/menu_submenu_selected.xcf | Bin 818 -> 0 bytes com.io7m.jsycamore.theme.spi/pom.xml | 2 +- com.io7m.jsycamore.vanilla/pom.xml | 2 +- pom.xml | 4 +- 25 files changed, 104 insertions(+), 42 deletions(-) delete mode 100644 com.io7m.jsycamore.theme.primal/src/main/resources/com/io7m/jsycamore/theme/primal/menu_submenu.png delete mode 100644 com.io7m.jsycamore.theme.primal/src/main/resources/com/io7m/jsycamore/theme/primal/menu_submenu.xcf delete mode 100644 com.io7m.jsycamore.theme.primal/src/main/resources/com/io7m/jsycamore/theme/primal/menu_submenu_selected.png delete mode 100644 com.io7m.jsycamore.theme.primal/src/main/resources/com/io7m/jsycamore/theme/primal/menu_submenu_selected.xcf diff --git a/com.io7m.jsycamore.api/pom.xml b/com.io7m.jsycamore.api/pom.xml index b6202186..7b4232f9 100644 --- a/com.io7m.jsycamore.api/pom.xml +++ b/com.io7m.jsycamore.api/pom.xml @@ -7,7 +7,7 @@ com.io7m.jsycamore com.io7m.jsycamore - 0.1.0 + 0.2.0-SNAPSHOT com.io7m.jsycamore.api diff --git a/com.io7m.jsycamore.api/src/main/java/com/io7m/jsycamore/api/menus/SyMenuItemType.java b/com.io7m.jsycamore.api/src/main/java/com/io7m/jsycamore/api/menus/SyMenuItemType.java index d114919b..a5b63ade 100644 --- a/com.io7m.jsycamore.api/src/main/java/com/io7m/jsycamore/api/menus/SyMenuItemType.java +++ b/com.io7m.jsycamore.api/src/main/java/com/io7m/jsycamore/api/menus/SyMenuItemType.java @@ -49,4 +49,10 @@ PAreaSizeI minimumSizeRequired( */ SyMenuType menu(); + + /** + * @return {@code true} if this menu has a descendant that is currently under the mouse cursor + */ + + boolean isMouseOverMenuDescendant(); } diff --git a/com.io7m.jsycamore.api/src/main/java/com/io7m/jsycamore/api/menus/SyMenuType.java b/com.io7m.jsycamore.api/src/main/java/com/io7m/jsycamore/api/menus/SyMenuType.java index 1cc18e48..271e6d69 100644 --- a/com.io7m.jsycamore.api/src/main/java/com/io7m/jsycamore/api/menus/SyMenuType.java +++ b/com.io7m.jsycamore.api/src/main/java/com/io7m/jsycamore/api/menus/SyMenuType.java @@ -21,6 +21,8 @@ import com.io7m.jorchard.core.JOTreeNodeType; import com.io7m.jsycamore.api.components.SyComponentType; +import java.util.List; + /** * A menu. * @@ -77,4 +79,10 @@ SyMenuItemSubmenuType addSubmenu( @Override AttributeType expanded(); + + /** + * @return An immutable snapshot of the items within the menu + */ + + List items(); } diff --git a/com.io7m.jsycamore.awt/pom.xml b/com.io7m.jsycamore.awt/pom.xml index fda248e4..66b787f7 100644 --- a/com.io7m.jsycamore.awt/pom.xml +++ b/com.io7m.jsycamore.awt/pom.xml @@ -9,7 +9,7 @@ com.io7m.jsycamore com.io7m.jsycamore - 0.1.0 + 0.2.0-SNAPSHOT com.io7m.jsycamore.awt diff --git a/com.io7m.jsycamore.components.standard/pom.xml b/com.io7m.jsycamore.components.standard/pom.xml index 48bfa2eb..a66f8b3b 100644 --- a/com.io7m.jsycamore.components.standard/pom.xml +++ b/com.io7m.jsycamore.components.standard/pom.xml @@ -8,7 +8,7 @@ com.io7m.jsycamore com.io7m.jsycamore - 0.1.0 + 0.2.0-SNAPSHOT com.io7m.jsycamore.components.standard diff --git a/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/SyMenu.java b/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/SyMenu.java index 1c5d7c95..384355e0 100644 --- a/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/SyMenu.java +++ b/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/SyMenu.java @@ -54,6 +54,10 @@ public final class SyMenu extends SyComponentAbstract implements SyMenuType { + private static final int MENU_ICON_SIZE = 24; + private static final int MENU_SUBMENU_ICON_SIZE = 12; + private static final int MENU_SUBMENU_ICON_END_PADDING = 4; + private final SyPackVertical align; private final AttributeType expanded; private final JOTreeNodeType menuNode; @@ -72,11 +76,22 @@ public SyMenu( super(themeClasses); this.items = List.of(); + + /* + * Menu items use four columns. + * + * 1. The menu icon (maybe invisible) + * 2. The flexible space for the menu item text + * 3. An icon used to indicate a submenu + * 4. Some padding. + */ + this.columns = SyFormColumnsConfiguration.columns( - exact(24), + exact(MENU_ICON_SIZE), flexible(), - exact(12) + exact(MENU_SUBMENU_ICON_SIZE), + exact(MENU_SUBMENU_ICON_END_PADDING) ); final var attributes = SyComponentAttributes.get(); @@ -116,7 +131,13 @@ public PAreaSizeI layout( var itemMaxWidth = 0; var itemTotalY = 0; - final var menuItems = this.itemsNow(); + /* + * Iterate over all the menu items and determine the total size on the Y + * axis needed for the menu, and the maximum width needed to display the + * longest menu item. + */ + + final var menuItems = this.items(); for (final var menuItem : menuItems) { final var itemSize = menuItem.minimumSizeRequired(layoutContext); @@ -125,6 +146,10 @@ public PAreaSizeI layout( itemMaxWidth = Math.max(itemMaxWidth, itemSize.sizeX()); } + /* + * Add some padding. + */ + itemMaxWidth += 16; final var subConstraints = @@ -197,15 +222,16 @@ public AttributeType expanded() } @Override - protected SyEventConsumed onEvent( - final SyEventType event) + public List items() { - return EVENT_NOT_CONSUMED; + return List.copyOf(this.items); } - private List itemsNow() + @Override + protected SyEventConsumed onEvent( + final SyEventType event) { - return this.items; + return EVENT_NOT_CONSUMED; } private T addMenuItem( diff --git a/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/internal/SyMenuItemAtom.java b/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/internal/SyMenuItemAtom.java index 25780902..c8a331e3 100644 --- a/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/internal/SyMenuItemAtom.java +++ b/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/internal/SyMenuItemAtom.java @@ -60,7 +60,6 @@ public final class SyMenuItemAtom private final SyTextView text; private final Runnable action; private final SyImageView icon; - private final SySpace space; private final SyFormRow row; private final SyFormColumnsConfiguration columns; private final SyAlign textAlign; @@ -90,8 +89,6 @@ public SyMenuItemAtom( this.action = Objects.requireNonNull(inAction, "action"); - this.space = new SySpace(); - this.row = new SyFormRow(this.columns); this.icon = new SyImageView(); @@ -113,7 +110,8 @@ public SyMenuItemAtom( this.row.childAdd(this.iconAlign); this.row.childAdd(this.textAlign); - this.row.childAdd(this.space); + this.row.childAdd(new SySpace()); + this.row.childAdd(new SySpace()); this.childAdd(this.row); } @@ -171,6 +169,12 @@ public SyMenuType menu() return this.menu; } + @Override + public boolean isMouseOverMenuDescendant() + { + return this.isMouseOver(); + } + @Override protected SyEventConsumed onEvent( final SyEventType event) diff --git a/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/internal/SyMenuItemSeparator.java b/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/internal/SyMenuItemSeparator.java index 686a99e2..8df883d4 100644 --- a/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/internal/SyMenuItemSeparator.java +++ b/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/internal/SyMenuItemSeparator.java @@ -85,4 +85,10 @@ public SyMenuType menu() { return this.menu; } + + @Override + public boolean isMouseOverMenuDescendant() + { + return this.isMouseOver(); + } } diff --git a/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/internal/SyMenuItemSubmenu.java b/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/internal/SyMenuItemSubmenu.java index e35365d7..f2c3e09a 100644 --- a/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/internal/SyMenuItemSubmenu.java +++ b/com.io7m.jsycamore.components.standard/src/main/java/com/io7m/jsycamore/components/standard/internal/SyMenuItemSubmenu.java @@ -24,6 +24,7 @@ import com.io7m.jsycamore.api.events.SyEventType; import com.io7m.jsycamore.api.layout.SyLayoutContextType; import com.io7m.jsycamore.api.menus.SyMenuItemSubmenuType; +import com.io7m.jsycamore.api.menus.SyMenuItemType; import com.io7m.jsycamore.api.menus.SyMenuType; import com.io7m.jsycamore.api.mouse.SyMouseEventOnOver; import com.io7m.jsycamore.api.spaces.SySpaceParentRelativeType; @@ -32,15 +33,14 @@ import com.io7m.jsycamore.components.standard.SyAlign; import com.io7m.jsycamore.components.standard.SyComponentAbstract; import com.io7m.jsycamore.components.standard.SyImageView; +import com.io7m.jsycamore.components.standard.SySpace; import com.io7m.jsycamore.components.standard.SyTextView; import com.io7m.jsycamore.components.standard.forms.SyFormColumnsConfiguration; import com.io7m.jsycamore.components.standard.forms.SyFormRow; import com.io7m.jtensors.core.parameterized.vectors.PVector2I; -import java.net.URI; import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.io7m.jsycamore.api.events.SyEventConsumed.EVENT_CONSUMED; import static com.io7m.jsycamore.api.events.SyEventConsumed.EVENT_NOT_CONSUMED; @@ -62,7 +62,7 @@ public final class SyMenuItemSubmenu private final SyFormColumnsConfiguration columns; private final SyFormRow row; private final SyImageView icon; - private final SyImageView iconSubmenu; + private final SyTextView iconSubmenu; private final SyMenuType menuOpen; private final SyMenuType menuOwner; private final SyTextView text; @@ -93,14 +93,12 @@ public SyMenuItemSubmenu( this.row = new SyFormRow(this.columns); - this.iconSubmenu = new SyImageView(); + this.iconSubmenu = new SyTextView(List.of(MENU_ITEM_TEXT)); this.iconSubmenu.setMouseQueryAccepting(false); - this.iconSubmenu.sizeUpperLimit().set(PAreaSizeI.of(8, 8)); - this.iconSubmenu.imageURI() - .set(Optional.of(URI.create("jsycamore:icon:menu_submenu"))); + this.iconSubmenu.text().set("→"); this.iconSubmenuAlign = new SyAlign(); - this.iconSubmenuAlign.alignmentHorizontal().set(ALIGN_HORIZONTAL_LEFT); + this.iconSubmenuAlign.alignmentHorizontal().set(ALIGN_HORIZONTAL_CENTER); this.iconSubmenuAlign.alignmentVertical().set(ALIGN_VERTICAL_CENTER); this.iconSubmenuAlign.childAdd(this.iconSubmenu); @@ -124,6 +122,7 @@ public SyMenuItemSubmenu( this.row.childAdd(this.iconAlign); this.row.childAdd(this.textAlign); this.row.childAdd(this.iconSubmenuAlign); + this.row.childAdd(new SySpace()); this.childAdd(this.row); } @@ -181,6 +180,19 @@ public SyMenuType menu() return this.menuOwner; } + @Override + public boolean isMouseOverMenuDescendant() + { + if (this.isMouseOver()) { + return true; + } + + return this.submenu() + .items() + .stream() + .anyMatch(SyMenuItemType::isMouseOverMenuDescendant); + } + @Override public SyMenuType submenu() { diff --git a/com.io7m.jsycamore.font.dejavu/pom.xml b/com.io7m.jsycamore.font.dejavu/pom.xml index c5df1318..9bdb7ec3 100644 --- a/com.io7m.jsycamore.font.dejavu/pom.xml +++ b/com.io7m.jsycamore.font.dejavu/pom.xml @@ -8,7 +8,7 @@ com.io7m.jsycamore com.io7m.jsycamore - 0.1.0 + 0.2.0-SNAPSHOT com.io7m.jsycamore.font.dejavu diff --git a/com.io7m.jsycamore.font.york/pom.xml b/com.io7m.jsycamore.font.york/pom.xml index d1c1aac4..3930eb1f 100644 --- a/com.io7m.jsycamore.font.york/pom.xml +++ b/com.io7m.jsycamore.font.york/pom.xml @@ -8,7 +8,7 @@ com.io7m.jsycamore com.io7m.jsycamore - 0.1.0 + 0.2.0-SNAPSHOT com.io7m.jsycamore.font.york diff --git a/com.io7m.jsycamore.generation/pom.xml b/com.io7m.jsycamore.generation/pom.xml index 3085dcaa..93fad2c5 100644 --- a/com.io7m.jsycamore.generation/pom.xml +++ b/com.io7m.jsycamore.generation/pom.xml @@ -9,7 +9,7 @@ com.io7m.jsycamore com.io7m.jsycamore - 0.1.0 + 0.2.0-SNAPSHOT com.io7m.jsycamore.generation diff --git a/com.io7m.jsycamore.tests/pom.xml b/com.io7m.jsycamore.tests/pom.xml index 6c4064f8..4b8b34a9 100644 --- a/com.io7m.jsycamore.tests/pom.xml +++ b/com.io7m.jsycamore.tests/pom.xml @@ -8,7 +8,7 @@ com.io7m.jsycamore com.io7m.jsycamore - 0.1.0 + 0.2.0-SNAPSHOT com.io7m.jsycamore.tests diff --git a/com.io7m.jsycamore.theme.primal/pom.xml b/com.io7m.jsycamore.theme.primal/pom.xml index 1993ee49..03962ff9 100644 --- a/com.io7m.jsycamore.theme.primal/pom.xml +++ b/com.io7m.jsycamore.theme.primal/pom.xml @@ -8,7 +8,7 @@ com.io7m.jsycamore com.io7m.jsycamore - 0.1.0 + 0.2.0-SNAPSHOT com.io7m.jsycamore.theme.primal diff --git a/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalImageView.java b/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalImageView.java index f92b34af..72c8a908 100644 --- a/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalImageView.java +++ b/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalImageView.java @@ -67,12 +67,6 @@ private static SyRenderNodeType imageOf( case "icon:window_menu" -> { yield iconOf(size, "window_menu.png"); } - case "icon:menu_submenu" -> { - yield iconOf(size, "menu_submenu.png"); - } - case "icon:menu_submenu_selected" -> { - yield iconOf(size, "menu_submenu_selected.png"); - } default -> SyRenderNodeNoop.noop(); }; } diff --git a/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalMenuBarItem.java b/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalMenuBarItem.java index 2cfd95bc..79830b6a 100644 --- a/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalMenuBarItem.java +++ b/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalMenuBarItem.java @@ -63,7 +63,7 @@ public SyRenderNodeType render( try { final var values = this.theme().values(); - if (component instanceof SyMenuBarItemType barItem) { + if (component instanceof final SyMenuBarItemType barItem) { final var rectangle = new SyShapeRectangle( PAreasI.cast(PAreasI.moveToOrigin(component.boundingArea())) diff --git a/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalMenuItem.java b/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalMenuItem.java index 37430347..10ee2dfa 100644 --- a/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalMenuItem.java +++ b/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalMenuItem.java @@ -70,10 +70,16 @@ public SyRenderNodeType render( return SyRenderNodeNoop.noop(); } - if (component instanceof SyMenuItemType) { + if (component instanceof final SyMenuItemType menuItem) { final var theme = this.theme(); final var values = theme.values(); - if (component.isMouseOver()) { + + /* + * The menu item should be highlighted if the cursor is over this + * item, or a descendant of this item. + */ + + if (menuItem.isMouseOverMenuDescendant()) { try { return new SyRenderNodeShape( Optional.of(values.edgeFlat(PRIMARY_EDGE)), diff --git a/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalMenuItemTextView.java b/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalMenuItemTextView.java index b71dd981..56ffcbde 100644 --- a/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalMenuItemTextView.java +++ b/com.io7m.jsycamore.theme.primal/src/main/java/com/io7m/jsycamore/theme/primal/internal/SyPrimalMenuItemTextView.java @@ -93,7 +93,7 @@ public SyRenderNodeType render( ); } - if (menuItem.isMouseOver()) { + if (menuItem.isMouseOverMenuDescendant()) { return new SyRenderNodeText( values.fillFlat(PRIMARY_BACKGROUND), textSize, diff --git a/com.io7m.jsycamore.theme.primal/src/main/resources/com/io7m/jsycamore/theme/primal/menu_submenu.png b/com.io7m.jsycamore.theme.primal/src/main/resources/com/io7m/jsycamore/theme/primal/menu_submenu.png deleted file mode 100644 index f3f7cdbb1deadc740f391f1cf5aeead29a8ff52f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFq>Ygr+ArhC96B?TS13~%$rWq3~ scZe+1P>2*1X4Yg_FUs=vxGE=uAe;8htrMOG0<|!By85}Sb4q9e0C1BVCjbBd diff --git a/com.io7m.jsycamore.theme.primal/src/main/resources/com/io7m/jsycamore/theme/primal/menu_submenu.xcf b/com.io7m.jsycamore.theme.primal/src/main/resources/com/io7m/jsycamore/theme/primal/menu_submenu.xcf deleted file mode 100644 index 093a755a978db4c1d90ec4e5e089eb4022f0de99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 818 zcmb`Fy>7xV6os7-D5XXH@6^HllVFHMo}dFm)uB>fAq2;`A_+>;0viv|xlhosZ`Zj> z&kZ&*5@T<4d_UiFV;cvlk{Mq_F@GNf0YkL4h(Dnd$Z;^7LG2+*B*Z!7K@I3qGxc3S zKTua8|HR}HE73Fd&c#%!j zxZml;GRme|&U zvN$e8$?JZL*SOtGXSTw5wI&A5-O_Jsg?XOM$#J#aLZ%C?pljlX6~^@!p*p>_4-r$` zK!&d@?pVw%KCt-E;;zL)&feVt2$90{PZr`%i(g33p})+1!FYyZf=j mL&^Oz_1}tBE#_?01bbQyMy^+n|Iy>HYO@cmXYbX7=dnK;(~Tei diff --git a/com.io7m.jsycamore.theme.primal/src/main/resources/com/io7m/jsycamore/theme/primal/menu_submenu_selected.png b/com.io7m.jsycamore.theme.primal/src/main/resources/com/io7m/jsycamore/theme/primal/menu_submenu_selected.png deleted file mode 100644 index 9322fab75bd1c42d00f115785654c10dc5fd373b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFq%APKcArhC96C4`;^F%NROUbWR pDq&rsnUtg;_+V?(g1-@}jAa|SeyyGKS{kUF!PC{xWt~$(69B5o85RHl diff --git a/com.io7m.jsycamore.theme.primal/src/main/resources/com/io7m/jsycamore/theme/primal/menu_submenu_selected.xcf b/com.io7m.jsycamore.theme.primal/src/main/resources/com/io7m/jsycamore/theme/primal/menu_submenu_selected.xcf deleted file mode 100644 index 679b85b0b3abadacc841ca9bb911077896dfb14e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 818 zcmb`F%}#?r6or9OtkuSUS1!iCq+O7}6S(NYxG?b*C>^F_3N(PW-Sq)n`vfk1JJ$x! zr8CVm>C#Ki-0$9Vfni!9(-~XD340I1&_Z;Sh(Dnd$hNVZL7gF5B*Z!7LM`Z0G0j~- zKTuEL(SDq#DbFg@7MZ8Rf=3k}v$?D$?D6UOg`DGNRHl*Oz9{6FdNlprFRSI0vofE` z@u1sJM4V6ag7ur^7h)8#pt-^U?9mQ8WX(nPqMSvs%mfPqRLiYO75-Z$D<-pe!b`d% zPm+>XteH1>joZVtXCv%aqtK|&mcGr4iXxwr<0#uhrUR{^YvP9$*7Yw!eY$HOBBr>3 zG+!CqHJBNEVDO>AJ%f+Hv`Za(0D1>K|6VbYbw^wykZ%n({}gEJaAum2^(m;mJ0Ckd ow45*9|HYAbwY^ar>?*Zta@}VAj~UylYtOPbYJ**+Hayq*1LXRRAOHXW diff --git a/com.io7m.jsycamore.theme.spi/pom.xml b/com.io7m.jsycamore.theme.spi/pom.xml index ae42fe75..0f3542f6 100644 --- a/com.io7m.jsycamore.theme.spi/pom.xml +++ b/com.io7m.jsycamore.theme.spi/pom.xml @@ -8,7 +8,7 @@ com.io7m.jsycamore com.io7m.jsycamore - 0.1.0 + 0.2.0-SNAPSHOT com.io7m.jsycamore.theme.spi diff --git a/com.io7m.jsycamore.vanilla/pom.xml b/com.io7m.jsycamore.vanilla/pom.xml index 28aaa7a2..e3b9dece 100644 --- a/com.io7m.jsycamore.vanilla/pom.xml +++ b/com.io7m.jsycamore.vanilla/pom.xml @@ -8,7 +8,7 @@ com.io7m.jsycamore com.io7m.jsycamore - 0.1.0 + 0.2.0-SNAPSHOT com.io7m.jsycamore.vanilla diff --git a/pom.xml b/pom.xml index 74d1d0b0..0cc80d39 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ com.io7m.jsycamore com.io7m.jsycamore - 0.1.0 + 0.2.0-SNAPSHOT pom com.io7m.jsycamore @@ -35,7 +35,7 @@ - 0.1.0 + 0.2.0-SNAPSHOT 2.10.0 21.0.1 1.8.1