Jump to content

Vector Themes


Slice
 Share

455 posts in this topic

Recommended Posts

Yeah - I Know. Seems a crazy way of doing it but maybe it's a better way??? Who knows.

 

Anyway, I'm nearly there with my BGM_SVG theme. It now includes images as symbols, where appropriate, and I've finally got round to including the font in the Theme file.

 

I still need to add images for the scroll bar and add night images for checkboxes, radio buttons and scroll bar. Maybe some other clean-ups etc. before I release it properly. I envisage this first release will not include animation.

 

Here's my latest file for testing. I'm interested in hearing any issues. For example, if there's anything that's not aligned properly or something that's obviously incorrect.

 

BGM_SVG_v0.8.2.zip

 

Edited by blackosx
Link to comment
Share on other sites

1 hour ago, blackosx said:

Yeah - I Know. Seems a crazy way of doing it but maybe it's a better way??? Who knows.

 

Anyway, I'm nearly there with my BGM_SVG theme. It now includes images as symbols, where appropriate, and I've finally got round to including the font in the Theme file.

 

I still need to add images for the scroll bar and add night images for checkboxes, radio buttons and scroll bar. Maybe some other clean-ups etc. before I release it properly. I envisage this first release will not include animation.

 

Here's my latest file for testing. I'm interested in hearing any issues. For example, if there's anything that's not aligned properly or something that's obviously incorrect.

 

BGM_SVG_v0.8.2.zip

 

Please ask me to add it to Clover (Theme) to work?

Thank you.

Link to comment
Share on other sites

Yes. Install it as you would any other theme.

So, download the attachment, unzip it and drop the BGM_SVG_v0.8.2 dir in to your EFI/Clover/Themes directory.

Then either:

1 - change your config.plist GUI->Theme Entry to BGM_SVG_v0.8.2 or NVRAM var, if using one.

2 - Reboot in to Clover GUI with your currently installed theme, then change the theme in the GUI by navigating the menu options.

 

Edited by blackosx
Link to comment
Share on other sites

13 minutes ago, blackosx said:

Yes. Install it as you would any other theme.

So, download the attachment, unzip it and drop the BGM_SVG_v0.8.2 dir in to your EFI/Clover/Themes directory.

Then either:

1 - change your config.plist GUI->Theme Entry to BGM_SVG_v0.8.2 or NVRAM var, if using one.

2 - Reboot in to Clover GUI with your currently installed theme, then change the theme in the GUI by navigating the menu options.

 

Please look at my Themes folder and config.plist, where I have a problem that does not show the .svg theme.

Thank you.

Archive.zip

Link to comment
Share on other sites

That looks fine.

Do you have a Clover.Theme nvram var set? Type nvram -p in terminal to check. if you do then that will take priority over config.plist.

 

But don't worry, just boot in to Clover using your current theme and select the theme from the menus. Options -> GUI tuning -> Themes ->

 

Link to comment
Share on other sites

27 minutes ago, blackosx said:

That looks fine.

Do you have a Clover.Theme nvram var set? Type nvram -p in terminal to check. if you do then that will take priority over config.plist.

 

But don't worry, just boot in to Clover using your current theme and select the theme from the menus. Options -> GUI tuning -> Themes ->

 

The BGM_SVG_v0.8.2 theme moves with the arrows forward after the start menu is OK, but it does not go back.

The Clovy Theme is OK and I can move with the arrows back and forth.

 

BGM_SVG_v0.8.2

 

Clovy

Link to comment
Share on other sites

8 hours ago, blackosx said:

Do you mean pressing the arrow keys left and right on the keyboard to move the selector?

 

EDIT: I don’t see any issues this end. To me, the theme functions as any other.

Moving with the arrows to the right is OK, back to the left does not go, blocking occurs.

If the 128x128 icons were great.

Edited by luky35
Link to comment
Share on other sites

3 hours ago, luky35 said:

Moving with the arrows to the right is OK, back to the left does not go, blocking occurs.

Ok. Thanks for the report. I cannot replicate any situation were the selector does not move left when I press the left arrow key, after pressing the keyboard to move the selector to the right. I wonder if anyone else has experienced the same issue? I cannot think why it would specifically be a problem with the BGM_SVG theme though and not other themes. Maybe Slice would have some idea?

 

 

7 hours ago, droples said:

 

Thanks @droples

Your log reminds me of some outstanding stuff still to implement :P

 

TO DO list (note for self)

- Set Badge Offset to 150 (0x96)
- Add BUILTIN_ICON_FUNC_SECURE_BOOT
- Add BUILTIN_ICON_FUNC_SECURE_BOOT_CONFIG
- Add BUILTIN_ICON_FUNC_HELP
- Add BUILTIN_ICON_TOOL_PART
- Add BUILTIN_ICON_TOOL_RESCUE
- Add BUILTIN_ICON_VOL_FIREWIRE
- Add BUILTIN_ICON_BANNER
- Add os_tiger
- Add os_win

 

Edited by blackosx
  • Like 1
Link to comment
Share on other sites

22 minutes ago, blackosx said:

Thanks @droples

Your log reminds me of some outstanding stuff still to implement :P

 

TO DO list (note for self)

- Set Badge Offset to 150 (0x96)
- Add BUILTIN_ICON_FUNC_SECURE_BOOT
- Add BUILTIN_ICON_FUNC_SECURE_BOOT_CONFIG
- Add BUILTIN_ICON_FUNC_HELP
- Add BUILTIN_ICON_TOOL_PART
- Add BUILTIN_ICON_TOOL_RESCUE
- Add BUILTIN_ICON_VOL_FIREWIRE
- Add BUILTIN_ICON_BANNER
- Add os_tiger
- Add os_win

 

I just guess. But you all can. We will wait.

Edited by droples
  • Like 1
Link to comment
Share on other sites

44 minutes ago, blackosx said:

@Slice

Is MenuScroll not yet taken from theme.svg, instead using embedded images?

 

Qemu-vs-SVG.thumb.jpg.3c149b53dbe4d4e2184707ae9d4caef2.jpg

 

 

Yes, still embedded. I think we can take scroll images same way as other images but I have no appropriate sample to work with older algorithm.

It will be better to implement new way for scrolling with fewer images.

Link to comment
Share on other sites

9 hours ago, blackosx said:

How about a simpler scrollbar using 4 images?

 

Scroll_Bar_Details.jpg.d1ca7daf02b2f41b77f5ec87560b9965.jpg

 

However, wouldn't changing the scroll bar affect raster themes? or would you support two types, old and a new style?

 

There is a condition 

if (GlobalConfig.TypeSVG) {} else {}

we can apply anywhere. We should claim scroll bar images to be obligatory in vector themes? Else it will be messy with embedded images. 

Yes, I want new simpler scroll bar.

Link to comment
Share on other sites

Yes. I don't see why scroll images can't be set to mandatory elements in SVG themes. Now's the time to do it as they're new and can be part of a theme template for the other theme designers (mostly @Badruzeus and @chris1111 if they choose to work on SVG themes in the future) to follow.

 

My suggestion of 4 parts to make a scroll bar above could be made even simpler with just 2 parts. There could just be a background fill and a scroll element fill and drop the top and bottom buttons. This could work as the scroll element of the bar is already coded to be draggable. And the menus are never really that long, even on a small screen, so the scroll part would always be quite large.

 

EDIT: Something like this?

Mockup.thumb.jpg.f6d94d5f9f3f9d5336e33be18549876a.jpg

 

Edited by blackosx
  • Like 2
Link to comment
Share on other sites

I saw the procedure ScrollingBar() and found that if some part of scrolling images lego will be absent then nothing dangerous happen.

For example if BarStartImage=NULL then

   egComposeImage(Total, BarStartImage, BarStart.XPos - ScrollTotal.XPos, BarStart.YPos - ScrollTotal.YPos);

just return.

This is weird and must be totally revised

    for (i = 0; i < Scrollbar.Height; i++) {
      egComposeImage(Total, ScrollbarImage, Scrollbar.XPos - ScrollTotal.XPos, Scrollbar.YPos + i - ScrollTotal.YPos);
    }

taking into account scalable graphics.

Link to comment
Share on other sites

10 hours ago, Slice said:

I saw the procedure ScrollingBar() and found that if some part of scrolling images lego will be absent then nothing dangerous happen.

Yes. I confirm that.

 

I've tried a quick edit to menu.c to only use embedded images, other than ScrollbarBackgroundImage and ScrollbarImage for vector themes. This works as far as an presenting an example of a scroll bar working with just two images.

--- /Volumes/Data/VCS/SVN/cloverefiboot-code/rEFIt_UEFI/refit/menu.c    2018-12-15 13:59:49.000000000 +0000
+++ /Users/blackosx/src/UDK2018/Clover/rEFIt_UEFI/refit/menu.c    2018-12-15 20:07:20.000000000 +0000
@@ -3198,10 +3198,10 @@
     }
   }
 
-  if (!BarStartImage) {
+  if (!BarStartImage && !GlobalConfig.TypeSVG) {
     BarStartImage = egDecodePNG(ACCESS_EMB_DATA(emb_scroll_bar_start), ACCESS_EMB_SIZE(emb_scroll_bar_start), TRUE);
   }
-  if (!BarEndImage) {
+  if (!BarEndImage && !GlobalConfig.TypeSVG) {
     BarEndImage = egDecodePNG(ACCESS_EMB_DATA(emb_scroll_bar_end), ACCESS_EMB_SIZE(emb_scroll_bar_end), TRUE);
   }
   if (!ScrollbarBackgroundImage) {
@@ -3210,26 +3210,37 @@
   if (!ScrollbarImage) {
     ScrollbarImage = egDecodePNG(ACCESS_EMB_DATA(emb_scroll_scroll_fill), ACCESS_EMB_SIZE(emb_scroll_scroll_fill), TRUE);
   }
-  if (!ScrollStartImage) {
+  if (!ScrollStartImage && !GlobalConfig.TypeSVG) {
     ScrollStartImage = egDecodePNG(ACCESS_EMB_DATA(emb_scroll_scroll_start), ACCESS_EMB_SIZE(emb_scroll_scroll_start), TRUE);
   }
-  if (!ScrollEndImage) {
+  if (!ScrollEndImage && !GlobalConfig.TypeSVG) {
     ScrollEndImage = egDecodePNG(ACCESS_EMB_DATA(emb_scroll_scroll_end), ACCESS_EMB_SIZE(emb_scroll_scroll_end), TRUE);
   }
-  if (!UpButtonImage) {
+  if (!UpButtonImage && !GlobalConfig.TypeSVG) {
     UpButtonImage = egDecodePNG(ACCESS_EMB_DATA(emb_scroll_up_button), ACCESS_EMB_SIZE(emb_scroll_up_button), TRUE);
   }
-  if (!DownButtonImage) {
+  if (!DownButtonImage && !GlobalConfig.TypeSVG) {
     DownButtonImage = egDecodePNG(ACCESS_EMB_DATA(emb_scroll_down_button), ACCESS_EMB_SIZE(emb_scroll_down_button), TRUE);
   }
-  UpButton.Width      = ScrollWidth; // 16
-  UpButton.Height     = ScrollButtonsHeight; // 20
-  DownButton.Width    = UpButton.Width;
-  DownButton.Height   = ScrollButtonsHeight;
-  BarStart.Height     = ScrollBarDecorationsHeight; // 5
-  BarEnd.Height       = ScrollBarDecorationsHeight;
-  ScrollStart.Height  = ScrollScrollDecorationsHeight; // 7
-  ScrollEnd.Height    = ScrollScrollDecorationsHeight;
+  if (!GlobalConfig.TypeSVG) {
+    UpButton.Width      = ScrollWidth; // 16
+    UpButton.Height     = ScrollButtonsHeight; // 20
+    DownButton.Width    = UpButton.Width;
+    DownButton.Height   = ScrollButtonsHeight;
+    BarStart.Height     = ScrollBarDecorationsHeight; // 5
+    BarEnd.Height       = ScrollBarDecorationsHeight;
+    ScrollStart.Height  = ScrollScrollDecorationsHeight; // 7
+    ScrollEnd.Height    = ScrollScrollDecorationsHeight;
+  } else {
+    UpButton.Width      = ScrollWidth; // 16
+    UpButton.Height     = 0;
+    DownButton.Width    = UpButton.Width;
+    DownButton.Height   = 0;
+    BarStart.Height     = ScrollBarDecorationsHeight; // 5
+    BarEnd.Height       = ScrollBarDecorationsHeight;
+    ScrollStart.Height  = 0;
+    ScrollEnd.Height    = 0;
+  }
 }
 
 VOID SetBar(INTN PosX, INTN UpPosY, INTN DownPosY, IN SCROLL_STATE *State)

All that would be needed now would be to put SVG versions of ScrollbarBackgroundImage and ScrollbarImage in place of the embedded versions.

 

Edited by blackosx
  • Like 1
Link to comment
Share on other sites

1 - Does it not work the same as you would do for raster themes?

2 - This is determined by time of day. You'll have to change your system clock is you want to see different option.

I couldn’t get the Manjaro icon to appear using the old method as it looks for icons in the images folder and I can see svg themes don’t have an images folder.

Usually it’s something like

Images\os_manjaro.png

 

Besides setting the theme BGM_SVG are there any other settings needed to activate the day / night option? Or is it default?

 

 

Sent from my iPhone using Tapatalk

  • Like 1
Link to comment
Share on other sites

Good point about custom images and I don't know the answer to that. I guess that's not been implemented yet.

 

Yes, the night/day switching option is default in Clover. If the theme contains images for night then they will be shown when viewing at the appropriate time of day. Are you after an option to disable this day/night switching and say, always show the daytime version? 

Link to comment
Share on other sites

 Share

×
×
  • Create New...