ProGUI Update, Graph Library and Experimental V2

Developed or developing a new product in PureBasic? Tell the world about it.
Little John
Addict
Addict
Posts: 4519
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: ProGUI Update, Graph Library and Experimental V2

Post by Little John »

Hi,

I just want to say that I'm following this thread with interest, and I'm curious what ProGUI version 2 will offer when it is officially released. I might buy it then. :-)
PrincieD
Enthusiast
Enthusiast
Posts: 642
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI Update, Graph Library and Experimental V2

Post by PrincieD »

Little John wrote:Hi,

I just want to say that I'm following this thread with interest, and I'm curious what ProGUI version 2 will offer when it is officially released. I might buy it then. :-)
Thanks Little John, hopefully it could be quite special :) I've just recently got the new rendering subsytem working directly with the DWM (Desktop Window Manager) using DirectComposition. This is currently working with 2 separate windows (ready for my per window/monitor DPI code) and wow, quite possibly the smothest window resizing I've ever seen on Windows! Should have another demo ready soon for testing the DPI code :)

Chris.
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
Little John
Addict
Addict
Posts: 4519
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: ProGUI Update, Graph Library and Experimental V2

Post by Little John »

Thank you, Chris. That sounds promising! :-)
Zach
Addict
Addict
Posts: 1654
Joined: Sun Dec 12, 2010 12:36 am
Location: Somewhere in the midwest
Contact:

Re: ProGUI Update, Graph Library and Experimental V2

Post by Zach »

I'm not sure how I feel about this. I've been gone a long time, I had a lot of personal health issues to deal with, and still have to deal with but also my interests have changed over time. I lost a lot of the source code I was working on for my game engine and only recently have thought about trying to restart.

My email is probably one of the ones that bounced. I sold my domain name a few years ago, so I didn't even know you had resumed development.. I've been looking on the forums by happenstance since I was doing some research on how I might use the Scintilla Gadget to replace the Win32 editor gadget if I did decide to try again. It would make cross platform support a lot easier to use Scintilla, lol.

That being said, I was always impressed with ProGUI but the way development stopped on it has left me unsure of my enthusiasm.. Obviously I'd like you to get in touch with me since I'm original Platinum license holder, I'll send an email from my new personal address.. I never stopped working through the pandemic as I'm in an industry which deems me to be an essential employee.. A lot of people have lost jobs, so its sad to hear about yours; on the other hand what is going to happen to ProGUI when you find a new job? (this thread is 6 pages sorry if this has been addressed already). I don't like the way in which development stopped and the product appeared to just be dead. I understand a man has to eat and PB is a small community, but... well. anyway. Maybe lower the price is gonna shoot you in the foot too.

I'm not trying to sound like a dick, but GUI toolkits are kind of a sore spot for Purebasic. There is no one easy solution that fits all situations, and when you first developed it ProGUI was a massive leap in the right direction, and had a lot of potential. Especially with the 2D rendering you were working on. I just don't wanna be put in a situation where I think its back from the dead but then the rug is pulled out from me again, and I'm stuck using a half-finished tool or something like that.

edit: hard to believe it's been 10 years since I signed up for PB.
Image
Zach
Addict
Addict
Posts: 1654
Joined: Sun Dec 12, 2010 12:36 am
Location: Somewhere in the midwest
Contact:

Re: ProGUI Update, Graph Library and Experimental V2

Post by Zach »

BarryG wrote:I've heard nothing but BAD news about Patreon. I wouldn't touch it with a ten-foot pole.

Here's some quick Google results for "is patreon good".

https://www.consumeraffairs.com/business/patreon.html

https://au.trustpilot.com/review/www.patreon.com

https://theoutline.com/post/2571/no-one ... on-patreon

IMO it's better just to charge a fee like you've been doing. Cut out the (dodgy?) middle-man.
Patreon also just bit its self in the ass in a huge way by attempting to change their Terms of Service to prevent users with legitimate claims bringing arbitration cases against them. The whole deal is a mess revolving around the craze of political censorship that is going on with social media in the west for the past ~4 years, but basically a judge recently ruled Patreon could be served with arbitration, and they had to arbitrate all those claims individually. Which means it could cost them millions and millions of dollars to fight a large amount of claims. There are other potential fines involved as well. The whole affair is just shady and I'd honestly look at other crowd funding platforms if you were to go that route.


You could also consider a bounty system where if people want to see specific features implemented you decide on what its going to cost to implement and they can either front the cost (if its small enough) or a group can pay together to see it realized. Developing for PB users is a tough spot to be in, unfortunately. It's like a niche developing for a niche of a niche.
Image
PrincieD
Enthusiast
Enthusiast
Posts: 642
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI Update, Graph Library and Experimental V2

Post by PrincieD »

Thanks for the suggestions Zach :) Here's a new demo I promised, the DPI code isn't working yet but I wanted to show off (hehe) the new DWM direct composition integration. Here are 2 fully skinned windows 100% GPU rendering, behold perfect silky smooth window resizing! lol :D try resizing from the top left corner - no artifacts/jittering in the bottom right corner of the window: http://www.progui.co.uk/downloads/demo.zip
Image

Cheers!

Chris.
Last edited by PrincieD on Sun Sep 27, 2020 5:38 am, edited 1 time in total.
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
PrincieD
Enthusiast
Enthusiast
Posts: 642
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI Update, Graph Library and Experimental V2

Post by PrincieD »

Zach wrote:That being said, I was always impressed with ProGUI but the way development stopped on it has left me unsure of my enthusiasm.. Obviously I'd like you to get in touch with me since I'm original Platinum license holder, I'll send an email from my new personal address.. I never stopped working through the pandemic as I'm in an industry which deems me to be an essential employee.. A lot of people have lost jobs, so its sad to hear about yours; on the other hand what is going to happen to ProGUI when you find a new job? (this thread is 6 pages sorry if this has been addressed already). I don't like the way in which development stopped and the product appeared to just be dead. I understand a man has to eat and PB is a small community, but... well. anyway. Maybe lower the price is gonna shoot you in the foot too.

I'm not trying to sound like a dick, but GUI toolkits are kind of a sore spot for Purebasic. There is no one easy solution that fits all situations, and when you first developed it ProGUI was a massive leap in the right direction, and had a lot of potential. Especially with the 2D rendering you were working on. I just don't wanna be put in a situation where I think its back from the dead but then the rug is pulled out from me again, and I'm stuck using a half-finished tool or something like that.

edit: hard to believe it's been 10 years since I signed up for PB.
Thanks Zach yes unfortunately it was just circumstance and never finding the time with a stressful job (The ProGUI code was in a bad state too with unfinished code, so that put me off). I actually started a new job a couple of weeks ago yay! :) and I'm really enjoying it (it feels like what I've been looking for for a long time), small team, great guys and interesting projects. The difference now is V2 is in a really good state and at quite an advanced stage. The ground work has taken a while but all that's really left to do now is the DPI code and then plugging the new rendering subsystem into the ProGUI V2 core PanelEx rendering code. Next steps would be to get the diverted rendering code (for legacy controls) working with the new render subsystem (just rendering on to the Direct2D bitmap), possibly writing the flex layout manager first, re-doing the ButtonEx (with alpha transition states), re-doing the ToolbarEx, MenuEx and new Ribbon control for the first release. So I'm optomistic :) I think this could be a bit of a game changer for developing desktop app UIs :)

I know crazy how time flies!

Chris.
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
PrincieD
Enthusiast
Enthusiast
Posts: 642
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI Update, Graph Library and Experimental V2

Post by PrincieD »

At the very least if I ever stop development of ProGUI (which I doubt) for what ever reason (or it's put on hold again for a length of time) those that have bought the Gold or Platinum licenses will have the source code/access to an extremely powerful yet simple, easy-to-use Skinned Window Direct2D/Direct3D/DirectWrite/DirectComposition framework and API :)
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
PrincieD
Enthusiast
Enthusiast
Posts: 642
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI Update, Graph Library and Experimental V2

Post by PrincieD »

This is what the rendering API currently looks like and will be directly available to you:

Code: Select all

    *hwndOutput.D2D_OUTPUT = AllocateStructure(D2D_OUTPUT)
    *hwndOutput\CompositionSurface = *dwm\CompositionSurface
    *hwndOutput\DCompDevice = *dwm\DCompDevice
    
    BeginDraw(*hwndOutput)
    
    DrawClear(0, 0)
    
    GetClientRect_(hwnd, trc.RECT)
    rc.RECT_F
    rc\left = trc\left
    rc\top = trc\top
    rc\right = trc\right
    rc\bottom = trc\bottom
    BeginLayer(rc, 1, 0, *tborder)
    
    ;DrawImg(timg1, 0, 0, -1, -1, 1)
    BrushSetOpacity(backBrush, 0.8)
    DrawFillBox(0, 0, rc\right, rc\bottom, backBrush)
    ;DrawRect(rc, RGB(0, 0, 25), 0.1)
    
;     BeginDraw(ImgOutput(testimg))
;         DrawBox(0, 0, 50, 50, RGB(255, 0, 0), 0.5)
;         BeginDraw(ImgOutput(timg1))
;         DrawBox(400, 400, 100, 100, RGB(0, 255, 0), 0.5)
;         EndDraw()
;     EndDraw()
    
    DrawImg(testimg, 100, 100, 200, 200, 1)
    
    If *dwm = dwm
        ;Debug deviceContext\Direct2DContext
        ;DrawBox(0, 0, 100, 100, RGB(255, 0, 0), 1)
    Else
        DrawBox(0, 0, 100, 100, RGB(0, 255, 0), 1)
    EndIf
    
;     LockMutex(mutex)
;     ForEach object()
;         ;ImgDrawEx(object()\img, 20, 20, 20, 20, object()\x, object()\y, 200, 200, object()\alpha)
;         DrawImg(object()\img, object()\x, object()\y, -1, -1, object()\alpha)
; ;         trc.RECT_F
; ;         trc\left = object()\x+10
; ;         trc\top = object()\y+10
; ;         trc\right = object()\x+80
; ;         trc\bottom = object()\y+80
;         
;         ;If object()\x >= rc\left And object()\x <= rc\right And object()\y >= rc\top And object()\y <= rc\bottom
;         ;ImgBeginLayer(trc, 0.8, 0, *tborder)
;         ;ImgRect(trc, RGB(0, 200, 0), 1)
;         ;ImgEndLayer()
;         ;EndIf
;         
;     Next
;     UnlockMutex(mutex)
    
    ;DrawBorder(*tborder, 120, 100, p\x, p\y, 1)
    
    w = 300
    h = 300
    
    rc.RECT_F
    rc\left = p\x-(w/2)
    rc\top = p\y-(h/2)
    rc\right = rc\left + w
    rc\bottom = rc\top + h
    
;     BeginLayer(rc, 1, 0, *tborder)
;     *img.imgs = timg1
;     _D2D_Blur(*hwndOutput\D2DDeviceContext, *img\d2d_bitmap, rc)
;     DrawRect(rc, RGB(255, 255, 255), 0.1)
;     
;     rc\left + 20
;     rc\top + 20
;     rc\bottom - 20
;     rc\right - 20
;     BeginLayer(rc, 1, 0, *tborder)
;     DrawRect(rc, RGB(0, 255, 0), 0.3)
;     EndLayer()
;     
;     EndLayer()
    
    GetClientRect_(hwnd, trc.RECT)
    If *dwm = dwm
        DrawTxt("This is a test Window 1", trc\right-trc\left, trc\bottom-trc\top)
    Else
        DrawTxt("This is a test Window 2", trc\right-trc\left, trc\bottom-trc\top)
    EndIf
    
    EndLayer()
    
    EndDraw()
As you can see at the top there's a hard coded hwndOutput Structure that will be wrapped up into HwndOuput() command once plugged into the PanelEx code. It's a bit more refined now anyway and more closely resemlbles PB's ImageOutput()/WIndowOuput() style commands (not final or set in stone though I might change some of the command names). I'm pretty excited anyway about the potential and what cool stuff you guys are gunna create with it (myself included!) :)
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
Zach
Addict
Addict
Posts: 1654
Joined: Sun Dec 12, 2010 12:36 am
Location: Somewhere in the midwest
Contact:

Re: ProGUI Update, Graph Library and Experimental V2

Post by Zach »

Looks good Chris, looking forward to a full release of V2 in the future.
Image
PrincieD
Enthusiast
Enthusiast
Posts: 642
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI Update, Graph Library and Experimental V2

Post by PrincieD »

Hi guys,

Sorry for the radio silence I'm sure the lock-down has been getting to us all. I'm thinking of creating a private github repo for gold and platinum users where we can all have a crack at it and I'll push all my latest changes and we can sort out some kind of revenue share if the sub-branches make it into the main package :) I feel like the project is a bit too much for one man to handle and it's something that would benefit the community. Anyway thoughts please guys :)
Last edited by PrincieD on Sat May 22, 2021 4:50 pm, edited 1 time in total.
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
PrincieD
Enthusiast
Enthusiast
Posts: 642
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI Update, Graph Library and Experimental V2

Post by PrincieD »

Oh and re-opening the ProGUI forums (private no spam bots this time ;))
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
PrincieD
Enthusiast
Enthusiast
Posts: 642
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI Update, Graph Library and Experimental V2

Post by PrincieD »

Well, the crux of the matter is I need help with the project now guys! and I know there is talented developers here and many who have bought a license (a 190 of you can you believe! over the years) at the same time I want to honour my commitment to those who bought a gold an platinum license. So yep ideas please haha
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
wombats
Enthusiast
Enthusiast
Posts: 663
Joined: Thu Dec 29, 2011 5:03 pm

Re: ProGUI Update, Graph Library and Experimental V2

Post by wombats »

I wish I had the knowledge to be able to contribute to development, but sadly, I don't think I do. My own programming project has stalled because of my inability to figure something out.

Anyway. I'd like to see the forums back (would the old posts be there)? They were taken down before I bought a license. ProGUI is great. My only issue with it is that it keeps the program open invisibly even when it's supposed to have closed, but I haven't tested this with V2.
PrincieD
Enthusiast
Enthusiast
Posts: 642
Joined: Wed Aug 10, 2005 2:08 pm
Location: Yorkshire, England
Contact:

Re: ProGUI Update, Graph Library and Experimental V2

Post by PrincieD »

Hey man I'm still here, just need a bit of help - the Direct 2D branch which is c++ I need to get that animation thread working correctly then gold
ProGUI - Professional Graphical User Interface Library - http://www.progui.co.uk
Post Reply