christolliday / limn

Experimental cross platform GUI library
Other
404 stars 19 forks source link

Examples(except one) do not work on Windows #6

Closed VladimirMarkelov closed 6 years ago

VladimirMarkelov commented 7 years ago

Windows 7, 64-bit - the first experience

The only working example is 'button'. Though, i has its own issues, e.g, it starts slowly: at first I see a white rectangle inside an app window and only around 0.5 seconds later it is repainted with gray color and button.

As for other examples(command line to run any example is like "cargo run --example clock"), all work the same way: a window with a white rectangle that is smaller than the windows appears and then it hangs: image

The function where it hangs is:

src\window.rs:45
    pub fn resize(&mut self, width: u32, height: u32) {
        self.window.set_inner_size(width, height);
    }

As I understand, it is call to Glium library. At the same time, Glium library works fine at my side. I tried to run Conrod examples with glium backend and it worked smoothly:

conrod> cargo run --release --features "winit glium" --example text_edit
christolliday commented 7 years ago

Hi, thanks for making this issue, yes it is the resize code that causes this, it's actually due to this bug in winit that has since been fixed. I'll make a patch that updates to a custom glutin (and therefore winit) so that there's no need to wait for both a new winit release and a new glutin release (which updates winit), which could otherwise take a while.

christolliday commented 7 years ago

Hi, can you try it again? The hanging issue should be fixed and it's been tested on Windows 10, I haven't tested anything on Windows 7 yet though.

VladimirMarkelov commented 6 years ago

Thank you! I've updated the source. Now all examples work great.

pmarcelll commented 6 years ago

I have a similar issue, except I'm using Linux. I've built the examples with cargo build --examples and I can run the examples from the command line, but if I try to run one from a file manager, a small blank window appears in the upper left corner and then it immediately dissapears. Surprisingly, the clock example works both ways.

Schlechtwetterfront commented 6 years ago

@pmarcelll That's probably because the clock example doesn't use any text and thus fonts (?). At least that's the error message I get if I try to execute any of the binaries without having the working dir be in the crate root.

You'd need to copy the assets folder to where the executable is so limn can find the fonts in assets/fonts/.

christolliday commented 6 years ago

ah yes thanks, that must be it, assets is currently hard coded into the library so any example will look for it if there's any text or images. Should be better documented. Related to #4

It's unrelated to general windows support however, which seems to work for now, so I'll close this one