Open GoogleCodeExporter opened 8 years ago
Hello :)
We have already talked about this in another unrelated issue report, but i
can't
find it back right now.
You are not the first to request that.
The problem is most of our low-level functions drawing to the screen are all
assuming the menu is at the bottom. Changing this involves quite a lot of work
and
changes in all the drawing functions to check where is the menu. The amount of
work
is so high that no one feels very motivated to do it. And it also means we
won't do
that in the 2.0 release, you'll have to wait until some beta after that.
Original comment by pulkoma...@gmail.com
on 6 Mar 2009 at 7:43
[deleted comment]
Well, I'll just prove patient then... (^_-) Not that this very minor issue for
me
would be even close to spoil my enjoying the soft anyway of course.
Way to go for such an amazing tool guys!
Original comment by benoist....@gmail.com
on 6 Mar 2009 at 7:48
The "status bar" with the current file name, coordinates, etc. still has to be
horizontal, even if the toolbar is vertical.
The minimum screen height becomes about 330 pixels.
Original comment by yrizoud
on 6 Mar 2009 at 9:30
Filename/coords and stuff could be displayed out of the main GUI, like in a
menubar
(well, DPaint way exactly... :-P), but I willingly aknowledge that, as
Pulkomandy
noted above, this would turn things more into a major revamping the GUI, way
too much
work compared to the small benefit of it perhaps...
(And still, I can't help but maintain that I miss the freely positionable GUI a
bit!!
(^_^)b)
As for the minimum height size becoming 330 pix when GUI switched in vertical
position, would that be an issue? I mean, it's not like that would extend the
minimum
requirements for monitor resolution anyway, right? Ha ha ha...
Original comment by benoist....@gmail.com
on 6 Mar 2009 at 10:11
Just curious, after 2.0 (the distant future!) will the 320x200 minimum still be
enforced?
As for reorganizing GUI, it seems that if it is ever undertaken, the best way
would
be to separate the GUI layer from the image in some way, so that you could draw
it
using some GUI library, have it fully skinnable, or dragable, floating or
whatever.
Since tampering with it is a huge task anyway, it would prolly not pay off to
'hack'
the GUI into vertical arrangement without first making it more edit-friendly, or
standardized, or whatever is the proper term. Perhaps all the GUI feature
requests
that have to wait until this revamp could be grouped or tagged somehow.
Original comment by ilija.melentijevic
on 6 Mar 2009 at 11:02
The 320x200 minimum is enforced by the gp2x port. This handheld console only
has a
320x200 screen. Sure, it is possible to have an hardware zoom and/or scroll,
but it
does not sound very practical.
It would be nice to be more abstract, for example the nintendo DS has smaller
screens, so we could use one of them as the toolbar and the other one for actual
drawing. On the gp2x, we could have a button to switch between "drawing screen"
and
"menu screen", basically having the menu occupying the whole screen.
The current GUI system is pretty flexible, buttons can be moved anywhere on the
screen, the problem is that the picture management expect the usable screen
area to
be a rectangle starting at 0,0, and going to the menu start at the bottom, and
the
zoom splitbar at the right, if they are visible. Changing that would need a
rewrite
of all the functions. As everything is done with direct SDL memory access, this
means
many problems to sort out.
A solution would be to use the SDL screenspace for the picture, and some other
thing
for the menu and windows. But, SDL doesn't offer any practical ways to do that
: no
multiple windows, no easy integration with another toolkit. And i don't know
any gui
toolkit with enough portability for all the platforms we are supporting
(actually,
i'm pretty sure there is none :))
Original comment by pulkoma...@gmail.com
on 6 Mar 2009 at 12:37
I wrote about the resolution mostly as a reminder for us, because it affects
more
things. Height 330 seems harmless, but it means that in 800x600, you can't use
the
"tall pixels" mode (needs 660 height minimum).
In my opinion, a system that handles the 2 layouts (4 if you want all 4 screen
sides)
would require an exponential amount of code, and in the process we would create
the
related number of bugs...
> I miss the freely positionable GUI
Nothing we can invent in a few months of work can rival a years-old GUI toolkit.
I fully agree with Ilija there:
> the best way would be to separate the GUI layer from the image in some way
Menus, toolboxes, windows, palette(s), printed text and mouse cursor would be
in OS
desktop space, native resolution, full colors so we are free from the very
complicated remapping problems.
Only the rectangular "viewports" should be in picture space, apparently 8-bit,
and
scaled according to zoom levels and pixel ratio. These rectangles would only
print
part of the image, preview brush, preview lines, XOR lines.
Original comment by yrizoud
on 6 Mar 2009 at 2:15
If we do that, we will have many portablility problems, most notably the lack
of
support for a gui toolkit that supports all of the platforms.
I do agree the idea is nice, however, it will probably mean we left away some
platforms.
gp2x doesn't have any toolkit library installed by default, meaning we would
have to
link one statically to the binary, making it very big. It does not have a
window
manager either, so we can't use external windows.
Amiga 68k (and maybe others) SDL implementation lets us access the video memory
directly. And I mean really directly. Everything runs nice in fullscreen mode
with
the current build, but if you launch grafx2 in a window, the graphics are
corrupted,
because the window is not linear memory, but some lines spread across the
screen...
I think one solution could be to switch the screenspace to use 24 bit, that
would
mean we have to do a conversion each time we display something, but this
conversion
is already done on most platforms whith the current system, as most videocards
don't
suport indexed 256colors modes. A 24bit screen means we can have truecolor
graphics
for the icons/menus/windows, we can do fun things like 256 colors per layer
with
true alpha channel, and maybe some other tricks.
Unfortunately, it also means we have to rework a big part of the code to use
SDL_BlitRect to convert the pixelformats from 256 colors to 24bit.
The multiwindow layout doesn't seem quite a good idea for me (ie having a
floating
window with all the tools, like gimp), it will look like a mess. However, i'm
all
for external windows for palette, load/save, and all that stuff. SDL 1.3 may
help
there.
Original comment by pulkoma...@gmail.com
on 6 Mar 2009 at 8:11
I didn't want to (be the first to) sound negative, but I'm aware that changing
to a
GUI toolkit is a fork.
The end-result UI does not *necessarily* have a mess of floating palettes : my
prefered GUI would occupy a full rectangle (no accidentally clicking in a
"hole" and
activate a window below), and the icons would be soldered in place (no
accidental
dragging).
Original comment by yrizoud
on 6 Mar 2009 at 11:38
[deleted comment]
Latest iterations of flash (esp Flash8) have a nice 'docking' GUI that
practically
consists of vertical and horizontal screen slices. Adobe kinda watered down the
concept trying to make it fit to all of their apps, but it's still maybe food
for
thought.
Original comment by ilija.melentijevic
on 7 Mar 2009 at 9:50
Original comment by pulkoma...@gmail.com
on 7 Apr 2009 at 1:02
Original comment by pulkoma...@gmail.com
on 26 May 2009 at 7:48
Original comment by pulkoma...@gmail.com
on 2 Sep 2009 at 9:41
Original comment by pulkoma...@gmail.com
on 15 Sep 2009 at 7:13
Original comment by pulkoma...@gmail.com
on 15 Jan 2010 at 7:34
Original issue reported on code.google.com by
benoist....@gmail.com
on 6 Mar 2009 at 7:35