blackosx Posted December 13, 2018 Share Posted December 13, 2018 (edited) 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 December 13, 2018 by blackosx Link to comment Share on other sites More sharing options...
luky35 Posted December 13, 2018 Share Posted December 13, 2018 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 More sharing options...
blackosx Posted December 13, 2018 Share Posted December 13, 2018 (edited) 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 December 13, 2018 by blackosx Link to comment Share on other sites More sharing options...
luky35 Posted December 13, 2018 Share Posted December 13, 2018 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 More sharing options...
blackosx Posted December 13, 2018 Share Posted December 13, 2018 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 More sharing options...
luky35 Posted December 13, 2018 Share Posted December 13, 2018 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 More sharing options...
blackosx Posted December 13, 2018 Share Posted December 13, 2018 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. Link to comment Share on other sites More sharing options...
droples Posted December 14, 2018 Share Posted December 14, 2018 (edited) BGM_SVG V0.8.2 Archive.zip Edited December 14, 2018 by droples 1 Link to comment Share on other sites More sharing options...
luky35 Posted December 14, 2018 Share Posted December 14, 2018 (edited) 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 December 14, 2018 by luky35 Link to comment Share on other sites More sharing options...
blackosx Posted December 14, 2018 Share Posted December 14, 2018 (edited) 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: Archive.zip Thanks @droples Your log reminds me of some outstanding stuff still to implement 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 December 14, 2018 by blackosx 1 Link to comment Share on other sites More sharing options...
droples Posted December 14, 2018 Share Posted December 14, 2018 (edited) 22 minutes ago, blackosx said: Thanks @droples Your log reminds me of some outstanding stuff still to implement 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 December 14, 2018 by droples 1 Link to comment Share on other sites More sharing options...
blackosx Posted December 14, 2018 Share Posted December 14, 2018 @Slice Is MenuScroll not yet taken from theme.svg, instead using embedded images? Link to comment Share on other sites More sharing options...
Slice Posted December 14, 2018 Author Share Posted December 14, 2018 44 minutes ago, blackosx said: @Slice Is MenuScroll not yet taken from theme.svg, instead using embedded images? 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 More sharing options...
blackosx Posted December 14, 2018 Share Posted December 14, 2018 (edited) How about a simpler scrollbar using 4 images? However, wouldn't changing the scroll bar affect raster themes? or would you support two types, old and a new style? Edited December 14, 2018 by blackosx Link to comment Share on other sites More sharing options...
Slice Posted December 15, 2018 Author Share Posted December 15, 2018 9 hours ago, blackosx said: How about a simpler scrollbar using 4 images? 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 More sharing options...
blackosx Posted December 15, 2018 Share Posted December 15, 2018 (edited) 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? Edited December 15, 2018 by blackosx 2 Link to comment Share on other sites More sharing options...
Slice Posted December 15, 2018 Author Share Posted December 15, 2018 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 More sharing options...
blackosx Posted December 15, 2018 Share Posted December 15, 2018 (edited) 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 December 15, 2018 by blackosx 1 Link to comment Share on other sites More sharing options...
blackosx Posted December 16, 2018 Share Posted December 16, 2018 Here's a 16 x 1px SVG for each the scroll bar background and bar if useful for testing. scrollBarFillBack.svg scrollFill.svg Link to comment Share on other sites More sharing options...
Slice Posted December 16, 2018 Author Share Posted December 16, 2018 Rev 4811 I think night bar should work as well. 1 Link to comment Share on other sites More sharing options...
blackosx Posted December 16, 2018 Share Posted December 16, 2018 Thanks Slice. Works great. Night also 2 Link to comment Share on other sites More sharing options...
SavageAUS Posted December 17, 2018 Share Posted December 17, 2018 1, How do we use custom images for custom entries? 2, How to set and implement day / night time? Thanks. Link to comment Share on other sites More sharing options...
blackosx Posted December 17, 2018 Share Posted December 17, 2018 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. Link to comment Share on other sites More sharing options...
SavageAUS Posted December 17, 2018 Share Posted December 17, 2018 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 likeImages\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 1 Link to comment Share on other sites More sharing options...
blackosx Posted December 17, 2018 Share Posted December 17, 2018 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 More sharing options...
Recommended Posts