ProGUI V3 Alpha Sneak Peek!

Developed or developing a new product in PureBasic? Tell the world about it.
PrincieD
Enthusiast
Enthusiast
Posts: 646
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

ProGUI V3 Alpha Sneak Peek!

Post by PrincieD »

Hi guys! This is a sneak peek of the new ProGUI V3 alpha which I've spent the past 7 months or so developing and is a total re-write from the ground-up.

https://www.youtube.com/shorts/joYegMLUxyc

More dev diary videos: https://www.youtube.com/channel/UCBcx4x ... R0b_uQ4Cwg

Core features implemented:

* Cross platform, currently Windows and Linux (although the Linux code is a little behind at the moment).
* Unified GFX API - DirectX 11/ Direct2D / DirectWrite on Windows and Cairo / Pango on Linux.
* Automatic per monitor DPI scaling using Device Independant Pixels.
* Advanced layout engines including Basic, Flex and Grid which can handle updating tens of thousands of items without breaking a sweat.
* Overflow and dynamic bucket system for virtual scrolling in layouts.
* Event handler engine that can be easily subclassed with many handlers per event.
* Animation with all rendering synced to the animation and render threads.
* Easily create custom widgets using the GFX API.

Windows specific features:

* Super fast rendering and glitch-free window resizing with direct integration with the Desktop Window Manager.
* Diverted rendering of all Win32 common controls (also includes PB Canvas and Scintilla) directly onto the Direct2D bitmaps (including UXTheme animation), allowing alpha transparency and masking.
* Native WebView2 widget with rendering diverted directly onto the Direct2D bitmaps.

Layout features:

All layouts support padding and item margins along with overflow and scrolling.
Layouts support automatic 'fit-to-content' and can be nested.

Layout Items:
#PG_Layout_Item_Visiblity
#PG_Layout_Item_MinWidth
#PG_Layout_Item_MinHeight
#PG_Layout_Item_IdealWidth
#PG_Layout_Item_IdealHeight
#PG_Layout_Item_Margin
#PG_Layout_Item_MarginTop
#PG_Layout_Item_MarginLeft
#PG_Layout_Item_MarginBottom
#PG_Layout_Item_MarginRight
#PG_Layout_Item_Justify
#PG_Layout_Item_Align

#PG_Layout_Item_Justify_Start
#PG_Layout_Item_Justify_Center
#PG_Layout_Item_Justify_End
#PG_Layout_Item_Align_Start
#PG_Layout_Item_Align_Center
#PG_Layout_Item_Align_End

Flex:
#PG_Flex_Direction
#PG_Flex_Wrap
#PG_Flex_Justify
#PG_Flex_AlignItems
#PG_Flex_AlignContent

#PG_Flex_Direction_Row
#PG_Flex_Direction_RowReverse
#PG_Flex_Direction_Column
#PG_Flex_Direction_ColumnReverse

#PG_Flex_Justify_Start
#PG_Flex_Justify_Center
#PG_Flex_Justify_End
#PG_Flex_Justify_SpaceAround
#PG_Flex_Justify_SpaceBetween

#PG_Flex_AlignContent_Start
#PG_Flex_AlignContent_Center
#PG_Flex_AlignContent_End
#PG_Flex_AlignContent_SpaceAround
#PG_Flex_AlignContent_SpaceBetween
#PG_Flex_AlignContent_Stretch

Grid:
#PG_Layout_Item_RowStart
#PG_Layout_Item_RowSpan
#PG_Layout_Item_ColumnStart
#PG_Layout_Item_ColumnSpan

#PG_Grid_TemplateColumnSize
#PG_Grid_TemplateColumnMinSize
#PG_Grid_TemplateColumnMaxSize
#PG_Grid_TemplateRowSize
#PG_Grid_TemplateRowMinSize
#PG_Grid_TemplateRowMaxSize
#PG_Grid_GapSize
#PG_Grid_GapSizeColumns
#PG_Grid_GapSizeRows
#PG_Grid_JustifyContent
#PG_Grid_AlignContent
#PG_Grid_JustifyItems
#PG_Grid_AlignItems
#PG_Grid_Flow
#PG_Grid_DefaultColumnSize
#PG_Grid_DefaultColumnMinSize
#PG_Grid_DefaultColumnMaxSize
#PG_Grid_DefaultRowSize
#PG_Grid_DefaultRowMinSize
#PG_Grid_DefaultRowMaxSize
#PG_Grid_SpanMode
#PG_Grid_SpanModeColumns
#PG_Grid_SpanModeRows

#PG_Grid_JustifyContent_Start
#PG_Grid_JustifyContent_Center
#PG_Grid_JustifyContent_End
#PG_Grid_JustifyContent_SpaceAround
#PG_Grid_JustifyContent_SpaceBetween
#PG_Grid_JustifyContent_SpaceEvenly

#PG_Grid_AlignContent_Start
#PG_Grid_AlignContent_Center
#PG_Grid_AlignContent_End
#PG_Grid_AlignContent_SpaceAround
#PG_Grid_AlignContent_SpaceBetween
#PG_Grid_AlignContent_SpaceEvenly

#PG_Grid_JustifyItems_Start
#PG_Grid_JustifyItems_Center
#PG_Grid_JustifyItems_End

#PG_Grid_AlignItems_Start
#PG_Grid_AlignItems_Center
#PG_Grid_AlignItems_End

#PG_Grid_Flow_Row
#PG_Grid_Flow_RowDense

#PG_Grid_SpanMode_Tight
#PG_Grid_SpanMode_Even

#PG_Grid_MaxContent
#PG_Grid_Auto
#PG_Grid_Default
#PG_Grid_Percent

Hopefully I'll have the first alpha version ready for you guys to test soon, it's not quite ready yet.

Cheers! Chris.
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
User avatar
skywalk
Addict
Addict
Posts: 3999
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: ProGUI V3 Alpha Sneak Peek!

Post by skywalk »

Looks sleek. Curious why you decided against an html/css approach with the new webviewgadget?
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
User avatar
ChrisR
Addict
Addict
Posts: 1154
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: ProGUI V3 Alpha Sneak Peek!

Post by ChrisR »

Sounds very interesting, impressive, can't wait to see more, will be better than a mobile capture :wink:
Good progress to the alpha version.
User avatar
jacdelad
Addict
Addict
Posts: 1478
Joined: Wed Feb 03, 2021 12:46 pm
Location: Planet Riesa
Contact:

Re: ProGUI V3 Alpha Sneak Peek!

Post by jacdelad »

Looks good. I just visited your website and the price seems to be good too. If I purchase it, will I get updates forever or will I (maybe) have to repurchase it again at one point?
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
User avatar
GG
Enthusiast
Enthusiast
Posts: 258
Joined: Tue Jul 26, 2005 12:02 pm
Location: Lieusaint (77), France

Re: ProGUI V3 Alpha Sneak Peek!

Post by GG »

I bought a few years ago a license for Progui 1.41.
Can't wait to see the next release...
Purebasic 6.04 64 bits - Windows 11 Pro 64 bits 23H2
GoodNPlenty
Enthusiast
Enthusiast
Posts: 108
Joined: Wed May 13, 2009 8:38 am
Location: Arizona, USA

Re: ProGUI V3 Alpha Sneak Peek!

Post by GoodNPlenty »

I purchased the previous version and am looking forward to trying the new version.
User avatar
bembulak
Enthusiast
Enthusiast
Posts: 572
Joined: Mon Mar 06, 2006 3:53 pm
Location: Austria

Re: ProGUI V3 Alpha Sneak Peek!

Post by bembulak »

Crossplatform intersts me as well. Nice!
cheers,

bembulak
PrincieD
Enthusiast
Enthusiast
Posts: 646
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI V3 Alpha Sneak Peek!

Post by PrincieD »

skywalk wrote: Mon Mar 18, 2024 7:00 pm Looks sleek. Curious why you decided against an html/css approach with the new webviewgadget?
Thanks! Versatility, speed and performance. The Webview uses a lot of memory so for a lot of apps it's kind of like cracking an egg with a sledge hammer. With the Direct2D backend you can mix and match ProGUI 'windowless' widgets with native OS controls as well as Webview widgets and control the compositing of them all. There's nothing stopping you from slapping a Webview into a one column/row grid layout though with the size set to auto (which is the default) and having all your UI web based.
ChrisR wrote: Mon Mar 18, 2024 8:29 pm Sounds very interesting, impressive, can't wait to see more, will be better than a mobile capture :wink:
Good progress to the alpha version.
Thanks! :) yes I need a better screen capture software that doesn't throttle the frame-rate :oops: :lol:
jacdelad wrote: Mon Mar 18, 2024 9:17 pm Looks good. I just visited your website and the price seems to be good too. If I purchase it, will I get updates forever or will I (maybe) have to repurchase it again at one point?
Thanks! So I'm thinking you'll recieve free updates for a year and then have to re-purchase with a discount. (bare in mind, the price for V3 will be going up)
GG wrote: Mon Mar 18, 2024 9:20 pm I bought a few years ago a license for Progui 1.41.
Can't wait to see the next release...
Thanks GG! :)
GoodNPlenty wrote: Mon Mar 18, 2024 9:59 pm I purchased the previous version and am looking forward to trying the new version.
Thanks GoodNPlenty! :)
bembulak wrote: Tue Mar 19, 2024 3:02 pm Crossplatform intersts me as well. Nice!
Thanks! :) yep it was one of the core features (that was requested a lot) and has been designed using a 'driver' like system.

Cheers guys, I appreciate the good feedback! :)
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
wombats
Enthusiast
Enthusiast
Posts: 664
Joined: Thu Dec 29, 2011 5:03 pm

Re: ProGUI V3 Alpha Sneak Peek!

Post by wombats »

Looks exciting! I look forward to seeing more.
PrincieD
Enthusiast
Enthusiast
Posts: 646
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI V3 Alpha Sneak Peek!

Post by PrincieD »

wombats wrote: Tue Mar 19, 2024 9:30 pm Looks exciting! I look forward to seeing more.
Thanks wombats! :)
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
User avatar
idle
Always Here
Always Here
Posts: 5096
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: ProGUI V3 Alpha Sneak Peek!

Post by idle »

that looks amazing, you've spent a good seven months. :D
User avatar
bembulak
Enthusiast
Enthusiast
Posts: 572
Joined: Mon Mar 06, 2006 3:53 pm
Location: Austria

Re: ProGUI V3 Alpha Sneak Peek!

Post by bembulak »

So the application and the code it creates will be cross-platform? Mac is planned as well, and: if ProGUI won't run, would the generated code run?

Edit: will SpiderBasic still be supported?
cheers,

bembulak
PrincieD
Enthusiast
Enthusiast
Posts: 646
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI V3 Alpha Sneak Peek!

Post by PrincieD »

idle wrote: Thu Mar 21, 2024 5:27 am that looks amazing, you've spent a good seven months. :D
Thank you very much idle! :) it's been a lot of hard work getting the core tech up and running!
bembulak wrote: Thu Mar 21, 2024 9:42 am So the application and the code it creates will be cross-platform? Mac is planned as well, and: if ProGUI won't run, would the generated code run?

Edit: will SpiderBasic still be supported?
So the API will be the same on both Windows and Linux (Mac will come a bit later). For windows it's a DLL that you just import using the provided include and on Linux it's an SO (Shared Object). SpiderBasic should run fine inside the Webview widget.
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
Zach
Addict
Addict
Posts: 1656
Joined: Sun Dec 12, 2010 12:36 am
Location: Somewhere in the midwest
Contact:

Re: ProGUI V3 Alpha Sneak Peek!

Post by Zach »

Nice to see you resuming work on this. I'll be interested to see V3 when it's officially released.

Any plans for a richedit control (or something of similar functionality) ?
Image
PrincieD
Enthusiast
Enthusiast
Posts: 646
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI V3 Alpha Sneak Peek!

Post by PrincieD »

Zach wrote: Thu Apr 04, 2024 3:04 am Nice to see you resuming work on this. I'll be interested to see V3 when it's officially released.

Any plans for a richedit control (or something of similar functionality) ?
Hi Zach, I've no immediate plans for a richedit replacement just yet as it's a lot of work replicating the functionality and you can just use a richedit (you can mix and match between the ProGUI widgets and OS controls) or Scintilla or the Webview widget (if you need alpha transparency). I'm concentrating on getting the core framework ready at the moment.
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
Post Reply