Author Topic: I present... AMBuilder: Layout Designer!  (Read 1308 times)

liquid8d

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 405
    • View Profile
Re: I present... AMBuilder: Layout Designer!
« Reply #15 on: June 08, 2017, 11:02:29 PM »
Well, technically fe.layout.preserve_aspect_ratio already does that part. It will fit and letterbox based on your ScreenWidth/ScreenHeight and layout.width and layout.height settings. That's just a matter of if you should design a layout at the highest possible resolution and scale down, or the lowest possible and scale up. Ideally though, the purpose of designing in all aspects is you make sure your layout works with all of them, so no modifications needed :)

I'm more thinking about in the designer - should the creator be able to create any specific resolution they care about, then pick and choose the best fit for the users screen? Or force the designer to design at all aspects.. and non-matching would just use preserve_aspect_ratio. Or, perhaps when you select, say, 16x9 - you choose what resolution to design that aspect in?

mahuti

  • Full Member
  • ***
  • Posts: 90
    • View Profile
Re: I present... AMBuilder: Layout Designer!
« Reply #16 on: June 09, 2017, 12:17:21 AM »
My main point which I wasn't really clear about is that there are 5 basic scaling modes that would be pretty common, and it's probably best to leave it to the end user as to which they want to use.

The designer will at a baseline design to meet what they see to be the primary use case for themselves or the "client" (friend,  compatriot, random web person they imagine using their stuff) first. Beyond that everything else is a nice-to-have. For the cases where the layout isn't thought out for the other cases, it's probably best left to the end user to decide how they want things to scale. Some might want it stretched full screen (damn the aspect ratio). Others fine with letter boxing. I personally loathe stretching, but in setting up a Pi for my buddy he wanted my Ol-Room style 4x3 layouts just stretched for his 16:9, rather than me setting up something else that actually fits correctly.

Some of the scaling also depends on whether the "live area" of content is tied to the positioning of background images or not making things much more complex to think about... in that sometimes parts would be appropriate to stretch and sometimes not.

Anyway, I obviously haven't thought it all through completely. :-) but I have been thinking about it in the context of making my own themes more flexible... and how I plan to approach it.

ryuuji

  • Full Member
  • ***
  • Posts: 73
    • View Profile
Re: I present... AMBuilder: Layout Designer!
« Reply #17 on: June 09, 2017, 04:33:34 PM »
Cool.  :o

omegaman

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 873
    • View Profile
Re: I present... AMBuilder: Layout Designer!
« Reply #18 on: June 12, 2017, 06:37:03 AM »
Liquid8d-

Awesome work as always - where do you find the time :p

I think your preserve_aspect_ratio should work well enough for most 4x3, 16x9, and 5x4 layouts using a bottom up approach. Creating layouts in 640x480 or 800x600 then scaling up to 1080p probably works for a majority of the users.

Heck, I am still doing fill to screen manually in my layouts like robospin - which I assume your preserve_aspect does without the extra coding needed for defining coordinates with x and y etc... Should I switch?

But having precise ratios "if there is such a thing" is not a bad thing either especially for those OCD people out there.  I think 4:3 is probably the most used followed by, 16:9, 5:3, 5:4, then 16:10.     

bobbanico

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: I present... AMBuilder: Layout Designer!
« Reply #19 on: June 12, 2017, 02:07:00 PM »
Thanks for the feedback!

To do a background, you don't need to use a surface and can just use any image including just the default pixel.png by setting the color. You may have had an issue with the zorder, which confused me as well. The default is sets all objects to -1 zorder, which means to create the objects in the order you add them to the layout. That's what it *should* do, but there could be bugs. Though if you do modify zorders to force it, use a different one for each object to ensure they are drawn in the order you expect (higher number draws on top).

Right now, 16x9 is actually using a resolution of 1024x576. The idea was to design for the lowest resolution of that aspect and scale it up. That may not all be fully implemented, and I'll be working on what aspects/resolutions should be available soon. I think for now you could probably just design your 16x9 layout, then set the layout width and height to 1920x1080 and preserve_aspect_ratio to true under the Layout settings and that should work.

As for fonts, at least on Windows I think they should work without needing to install them. Let me know if your on a different OS.

Hello,

Abt windows font needing to be installed i think it is the case, as when i had not installed it i had default fonts, then as soon as i double clicked it to install it it worked perfectly.

I would suggest (i know it is easy to say and less when it is abt to implement it :)), that you could maybe use the sort of elements treeview to sort them according to a hierarchy.
I mean the ones you want to be in background you set them in first position (with something like + - buttons) and this way the zorder would be more pictured, as the different elements position in the treeview would show also the zorder position. i hope it makes sense, i m not even sure i can reread myself well :D.

Thank you !

liquid8d

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 405
    • View Profile
Re: I present... AMBuilder: Layout Designer!
« Reply #20 on: June 12, 2017, 10:15:27 PM »
I'm not sure on the font thing, because I know for sure I used some fonts that I did not install and they worked fine. I'll have to look into it further.

As for ordering, that sounds about right. Once I implement re-ordering objects, i'll revisit how to handle zorder :) It might be a few days before I get to do some more work on it..

jingletit

  • Full Member
  • ***
  • Posts: 28
    • View Profile
Re: I present... AMBuilder: Layout Designer!
« Reply #21 on: June 16, 2017, 07:49:51 AM »
Would there ever be an option to use a selector a bit like the nes mini themes people are making? Update I found that there is a default theme called Grid that shows off what I am talking about .
« Last Edit: June 16, 2017, 09:41:20 AM by jingletit »

liquid8d

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 405
    • View Profile
Re: I present... AMBuilder: Layout Designer!
« Reply #22 on: June 17, 2017, 03:23:12 PM »
Would there ever be an option to use a selector a bit like the nes mini themes people are making? Update I found that there is a default theme called Grid that shows off what I am talking about .

Yes, possibly. Once I get the standard objects all working correctly, I can start adding other "objects" like a selector.

jingletit

  • Full Member
  • ***
  • Posts: 28
    • View Profile
Re: I present... AMBuilder: Layout Designer!
« Reply #23 on: June 18, 2017, 12:22:04 AM »
Would there ever be an option to use a selector a bit like the nes mini themes people are making? Update I found that there is a default theme called Grid that shows off what I am talking about .

Yes, possibly. Once I get the standard objects all working correctly, I can start adding other "objects" like a selector.
Nice can't wait :D I have a lot of theme ideas and without you they would be a nightmare to make. Keep up the amazing work

clockman

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
Re: I present... AMBuilder: Layout Designer!
« Reply #24 on: July 15, 2017, 06:27:46 PM »
Could someone do a tutorial video on how to use this? i can't figure it out.