Just a brief note that I'm resuming work on go.uik, as promised.
1) Definitely never have the concept of a pixel in developer code. At the moment, since go.uik uses go.wde for drawing, everything is eventually put into a pixel raster, but that raster needs to be effectively quarantined.
3) Speaking of an underlying raster, perhaps moving to opengl would be better? Any ideas there?
2) There needs to be some effective way for a developer to know how big the window is, according to the user's perception. Perhaps use cm as a measurement? That seems difficult.
Plotinum also does something like this:
--
You received this message because you are subscribed to the Google Groups "go-uik" group.
To unsubscribe from this group and stop receiving emails from it, send an email to go-uik+un...@googlegroups.com.
To post to this group, send email to go-...@googlegroups.com.
Visit this group at http://groups.google.com/group/go-uik?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
1) Definitely never have the concept of a pixel in developer code. At the moment, since go.uik uses go.wde for drawing, everything is eventually put into a pixel raster, but that raster needs to be effectively quarantined.
3) Speaking of an underlying raster, perhaps moving to opengl would be better? Any ideas there?
How you think about coordinates does have implications -- for example float vs. int, or y increasing up or down.Also, in many cases you wind up mapping your "world" to the underlying coordinate system anyway.
However, except for paper you don't know the actual size of the output media (AFAIK). It might be a handheld device or a 10-foot user interface.
--
Per display resolution setting might be useful. Systems have often more than one display.
Sort of riffing off both what you said and what Anthony said...The think I'm really trying to engineer is making it easy for developers to have GUIs whose components are easy to visually parse and to use.I think a good way to do this is to introduce a unit, let's call it the m and have it be approximately the same as the width of the letter m.
That way, the process to zoom in and make sure everything is good is the same as the process to resize the window - it's all the same to the GUI code.
The Em connection is no coincidence, but it's not entirely the same concept. I'm going to stick with m.
The quantity m is the minimum length such that an m by m square is convenient and easy to interact with.This implies that- a button may not be less than m on a side,- a scroll bar should really not be narrower than m*,and really,- nothing that has to be clicked (with a mouse) or touched (with a fingertip) should require any kind of mental energy.That is, you shouldn't have to slowly move the mouse around until you get that magic pixel that lets you resize a window, and you shouldn't have to try multiple times to tap the button you want.People's opinions may differ, but I would guess than an m on a typical screen, where the user's face is a few ergonomically chosen feet away, is about 1cm.Now, you may say something like "the GUI interaction is two-way, and the quantum wavelengths for information in vs information out may be different!". I tend to agree. However, having more than one wavelength (that's what I just decided I'm going to call m and similar concepts) makes for a confusing API. I think it makes sense to define the minimum type size as that which fits comfortably inside an area with height m without looking stupid. Perhaps better words can be chosen, but that's the gist.
FWIW, I meant "Em" in the sense of "an exportable type in a package", not the classical Em unit. Go requires a capital letter for exportation after all, and "M" felt a bit too generic for that. I can also understand that confusion with the old unit is something to be avoided, so calling the type Em is not a good idea either. How do you plan to do this in the package?
Does that mean that all the GUI elements will have to fit on a grid, or does this only apply to size?
On Wed, Mar 13, 2013 at 9:47 AM, Job van der Zwan <j.l.van...@gmail.com> wrote:FWIW, I meant "Em" in the sense of "an exportable type in a package", not the classical Em unit. Go requires a capital letter for exportation after all, and "M" felt a bit too generic for that. I can also understand that confusion with the old unit is something to be avoided, so calling the type Em is not a good idea either. How do you plan to do this in the package?
Ah, I see. I don't think exporting Em, or M, is a good idea - fiddling with it is waaaaay not thread-safe. Most likely there will be a WindowFoundation.SetM() method, or something, that will be responsible for this.
Just a brief note that I'm resuming work on go.uik, as promised.
FWIW - Instead of the term "eye wavelength" I would suggest a name already in common usage: http://en.wikipedia.org/wiki/Arc_secondArcSecond or MOA is commonly used to refer to the "apparent" size of an object regardless of the distance to that object. A cellphone button or 60" LCD screen button that both cover 20 MOA appear the same size to the user. (Of course the 60" screen has to be further away for them to be equal.)
On Thursday, March 7, 2013 3:36:26 PM UTC-5, John Asmuth wrote:Just a brief note that I'm resuming work on go.uik, as promised.
--
You received this message because you are subscribed to a topic in the Google Groups "go-uik" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/go-uik/MgFbQFeonvg/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to go-uik+un...@googlegroups.com.
To post to this group, send email to go-...@googlegroups.com.
Visit this group at http://groups.google.com/group/go-uik?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
3) Speaking of an underlying raster, perhaps moving to opengl would be better? Any ideas there?
This would be awesome! Would be very nice not to rely on glfw3) Speaking of an underlying raster, perhaps moving to opengl would be better? Any ideas there?
--
You received this message because you are subscribed to the Google Groups "go-uik" group.
To unsubscribe from this group and stop receiving emails from it, send an email to go-uik+un...@googlegroups.com.
Visit this group at http://groups.google.com/group/go-uik.
But you already have events windows and keyboards, witch glfw provides. The only step missing is the opengl window context creation. Function loading can be done with gogl. Am I missing something..? I'm no expert here
Then what does win_windows.go do? Sorry if it's a stupid question