Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
multi-window desktop apps — Gideros Forum

multi-window desktop apps

keszeghkeszegh Member
edited August 2015 in Suggestions & requests
is that hard to implement? in any case it's a feature request/idea for core developers.

i would use it for my real-time animating/drawing app e.g., in one window (on a laptop screen) there are the buttons while on another window (on a second screen projected) only the drawing area appears.

thanks

Comments

  • hgy29hgy29 Maintainer
    We had some thought on that a few month ago: multiple stages which would target multiple desktop windows, or multiple displays on mobile devices (say the device screen and a airplay screen for example).
    There is a lot of work involved though, so I don't believe something like that will make his way into gideros before some time, unless someone really wants to do it...
  • john26john26 Maintainer
    This sounds like another Kickstarter...! So I guess the question is, would you be prepared to pay for this? :-)
  • not yet: )
    maybe in any case no particular small feature by itself is important enough to attract enough backers, but a proper list of small features might do that and this can be among them.
  • john26john26 Maintainer
    edited September 2015
    Well we do have a plan to add a proper cross platform widget library to Gideros in addition to the native widgets already available on Android. (and we might also add native widgets for iOS, something that was started but not completed). The widgets libraries might include support for multiple windows, or maybe a muti-document interface in one window. This would be big enough for a crowd funding project I think.

    Here's what we do for free:
    1) Make Gideros code available open source without restriction
    2) Produce binary releases which are thoroughly tested
    3) add minor new features when we have time
    4) Incorporate pull requests users send

    Here's what we charge for (through crowdfunding etc)
    1) Adding major new features

    What counts as a major feature? It's not set in stone but new export targets are normally major and a widget library is another example.

    But of course users can add features themselves to the source code and send us a pull request, if they wish, so that we can incorporate these into the official code.

    Likes: keszegh

    +1 -1 (+1 / -0 )Share on Facebook
  • Here is a video of what has been done on the (to be open source) Lua based GUI so far...



    The last change was on July 17th.

    Here is the Gideros code that is used to make that demo:
    -- load textures
    local t1=TexturePack.new("theme1.txt","theme1.png",true)
    local t2=TexturePack.new("theme2.txt","theme2.png",true)
    local t3=TexturePack.new("theme3.txt","theme3.png",true)
    -- textures should have these images:
    -- ninepatch.png		A single image that can be stretched, but each of the sides keeps the same shape
     
    local f1=TTFont.new("candy.ttf",20," abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!",true)
     
    myGui=Gui.new({pack=t1,left=5,right=5,top=5,bottom=5,scaleIn="outBack",fadeIn="linear"})
    stage:addChild(myGui)
    window=myGui:openWindow(10,10,300,500,{movable="edge",title="Test of window 1, a really, really, really, really, really, really long line!",status="Test of window 1, a really, really, really, really, really, really long line!"})
    window2=myGui:openWindow(180,160,800,400,{movable="edge",theme={topColor=0x008040,bottomColor=0xffffff,scaleIn="outBack"},statusFont=f1,statusColor=0xfffffff}) -- override gui theme
    window3=myGui:openWindow(400,50,300,200,{movable="edge",theme={pack=t2,left=10,right=10,top=10,bottom=10,fadeIn="linear"}})
    window4=myGui:openWindow(30,300,70,60,{movable="edge",status="This text will be replaced!",statusFont=f1,theme={alpha=0.5}})
    window5=myGui:openWindow(330,350,500,140,{movable="edge",title="Window 4",titleFont=f1,theme={topColor=0xff0000,bottomColor=0xffff00,titleLeftColor=0x800000,titleRightColor=0xd0a0a0,alphaBgnd=0.5}})
    window6=myGui:openWindow(550,100,300,200,{theme={pack=t3,left=30,right=50,top=30,bottom=100,scaleIn="outBack"}})
    window7=myGui:openWindow(10,180,300,150,{hFlip=true,theme={pack=t3,left=30,right=50,top=30,bottom=100,scaleIn="outBack"}})
     
    myGui:setWindowSize(window4,700,140) -- resize window example
    myGui:setWindowStatus(window4,"Replace text test!")
     
    local frameCounter=0
    function gameLoop(e)
    	frameCounter=frameCounter+1
    	myGui:setWindowStatus(window2,"Frame counter: "..frameCounter)
    end
    stage:addEventListener(Event.ENTER_FRAME,gameLoop)

    Likes: hgy29, keszegh

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+2 / -0 )Share on Facebook
  • the colors make me vomit..
    the gui makes me happy.

    Likes: SinisterSoft

    +1 -1 (+1 / -0 )Share on Facebook
  • Lol. Just a test. :)
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
  • for the gui, wouldn't it be a possibility to port an existing framework? or do you have a framework in mind while building the one for gideros?
    e.g. http://haxeui.org/ seems to be capable, although i never tried it. or wxwidgets?
    then we would have better options for gui editors etc. if we are not separated from the rest of the world. like css/xml skinning/editing would be useful.
    all in all i have no real knowledge, and probably you did not start it without thinking beforehand, so i'm just wondering what's the plan.
  • The framework I'm making is custom for Gideros using Lua to make it easy for the community to understand, add to and improve upon.

    The idea is to get a set of GUI objects working that are drawn as quickly as possible so they are great for games (as well as normal apps). That is why the windows and/or gadgets are created as sprites - so you can use also use Gideros sprite commands to manipulate them. You could even use different pixel shaders, etc.

    Something to 'import' layouts from a gui editor should also be possible. The code will be open source.
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
Sign In or Register to comment.