Commit graph

223 commits

Author SHA1 Message Date
Antonino Siena 49004f4380
Update wayland deps (#199)
Co-authored-by: Antonino Siena <a.siena@gmx.de>
2020-07-09 21:21:16 +02:00
Daniel Collin f94eef1c7b
Cargo fmt pass (#198) 2020-07-09 11:53:46 +02:00
Daniel Collin cb0ceee910 Use null for PeekMessageW on Windows 2020-07-09 11:48:22 +02:00
LoganDark d0d3ffcf7b
Rename unixes to posix (#197)
* Rename `unix`es to `posix`

* Whoops

* deprecate get_unix_menus in favor of get_posix_menus

* doc fixes
2020-07-09 10:21:18 +02:00
Daniel Collin 849a640eb5 Clamp height in Image_Center 2020-05-23 12:37:25 +02:00
Antonino Siena 31d872353c
Use xkbcommon's function to convert a keysym to a unicode point (#184)
* Use xkbcommon's function to convert a keysym to a unicode point

* Simplified code_point check

Co-authored-by: Antonino Siena <a.siena@gmx.de>
2020-05-21 09:46:05 +02:00
Arif Roktim adffe0814f
Remove usage of the time crate (#183)
Replace calls to time::precise_time_s with std::time::Instant.

Also replaced the type of a time variable with std::time::Duration
because it played nicely with using Instant
2020-05-21 09:42:43 +02:00
Cameron McCormack 2c3fc9526c
comment fix (#178) 2020-05-04 13:19:45 +02:00
Nelson Chen 542da074fe
Delete old menu system sketch code from 4 years ago (#180)
It's commented out and successor menu code is in.
2020-05-04 13:19:15 +02:00
Antonino Siena b4adefd9d9
[WIP] Cursor visibility (#170)
* Cursor visibility

* Implement cursor visiblity for X11 and Wayland

* Implement cursor visibility for Windows

* Implement cursor visibility on Redox

* Implement cursor visiblity for OSX

* Semicolons

* Wrong method

* Missing argument

Co-authored-by: Antonino Siena <a.siena@gmx.de>
2020-04-21 15:13:12 +02:00
Christofer Nolander f769fe60ca
Implemented std::error::Error for minifb::Error (#168)
* Implemented std::error::Error for minifb::Error

* Fix rustfmt
2020-04-20 07:11:10 +02:00
Antonino Siena d2fe8c0469
Transparency (#164)
* Add transparency field to WindowOptions

* Add transparency example

* Implement transparency on Wayland

* Improvements

* [WIP] X11 transparency

* Restructure

* Redox implement transparency

* Update src/lib.rs

Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com>

* Rust-2018 changes

* Fixed issue

* cargo fmt

* [WIP] Implement alpha transparency for windows

* Staging Windows code

* Transparency is currently unimplemented on Windows

* Add note

* Dont use assertions

* Correction

Co-authored-by: Antonino Siena <a.siena@gmx.de>
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2020-04-15 15:11:23 +02:00
Antonino Siena 29a4c5d9df
Implement borderless on X11 (#165)
* Wayland implementation restructuration

* Moved previous X11 code into own module

* Moved some data into a common struct between wayland and x11

* Added glue

* Moved common unix functions into module

* Revert commits

* Update x11.rs

* Update x11.rs

* Cargo fmt

* Cargo fmt

* Initial Wayland struct and constructors

* Create Wayland window first

* Window::new constructor and removed error type

* Complete window creation

* More docs

* Fixed window creation

* Proper window creation

* Added byteorder

* Disallow resize and set_title

* Implement is_open() and get_window_handle()

* Fixed get_size() and implemented set_position()

* Wayland set_position was missing

* Added WIP update methods

* Improved update methods

* Added more prototype functions

* Get Keyboard and Mouse device

* outsource input device creation

* get proper mouse positions

* Properly get scroll wheel

* Implement HasRawWindowHandle for Wayland Window

* Implemented updaterate methods

* is active method

* More key handler methods

* Retrieve all events from keyboard and mouse

* Added more DisplayInfo methods

* Improvements for event handling

* Partial support for scaling

* Properly update buffer

* More imports

* Styling, etc.

* Merge

* More code to update the framebuffer

* Added scaling again

* Readded better event handling

* Properly render all colors as non-transparent ones

* Clear all events after being read

* update_with_buffer_stride is not WIP anymore

* Assume a connected keyboard and pointer device

* Moved keyboard and pointer from DisplayInfo into Window

* Support resizing and checking if the window is still open

* Rendering performance improvement

* Less warnings and some comments

* Byteorder now required anymore

* Not anymore resizing the ShmPool below its previous size and remove WlBuffers when told to

* Removed more magic numbers and added comments

* Proper size check of the buffer size

* Less conversions

* save the previous framebuffer size in DisplayInfo instead of seeking the fd

* Set the pixelformat statically depending on whether alpha channel is allowed or not

* Set the fd length only again when the size really changes

* Save resizability so that the size of the window doesnt get changed.

* Fix rerendering issue

* Fix rerendering issue

* Using unstable protocol to support server-side decorations

* Outsource buffer creation code

* Small improvements and comments

* Replaced usage of atomic types

* Cleanup

* Outsource Input handling into own struct

* Use mspc channels instead of Vec for input handling

* Implemented set_cursor_style()

* Proper cursorstyle into string decoding

* Implemented mouse buttons

* Scroll wheel fix

* Handle scroll events

* Updated code for new version of the wayland crate

* Reset scroll after each update

* Starting on keymap support with xkb

* Revert 19a590a

* Add missing bracket

* added missing minimum version for surface.damage_buffer()

* Fix for corrupted pointer images

* Implement scaling

* Remove comments

* Acknowledge only the last configure event when redrawing

* Assign the closure to the toplevel only once

* Own function for buffer filtering

* Dont truncate the fd anymore

* Proper damage surface

* Preventg display from getting dropped first

* custom BufferPool implementation

* Unneccessary printlns

* ack configure before committing

* set active field when keyboard focus enters/leaves the surface

* save modifiers each time they are changed

* Requires xkbcommon-sys to retrieve the keymap - will later be removed

* Prototype function to convert a key

* simplify keymap creation

* handle key event

* simplify button state evaluation

* Create wl_seat earlier so events are not getting missed

* Added key conversions and key offset

* Cargo fmt

* Update keyhandler

* Renaming

* Update xkb keys

* Input callback

* Numpad corrections

* Remove publicity from functions

* Retrieve input devices as early as possible

* TODO

* Small cleanup

* Proper key modifiers update

* Scale::FitScreen cant be implemented for now

* finish menu functions(copied from x11)

* Clean up some stuff

* unused variables

* Less warnings

* Comments and Variable naming improvements

* retrieve toplevel info now with an own method

* Constants

* Remove unused function

* Unused field

* Unused let binding

* Improve code readability

* Change note

* Comments

* Opinionated cleanup

* Comment out unused variables

Might be used later on

* Mouse buttons with boolean state

* Prototype UnixMenu functions

* Renaming

* unimplemented functions

* actually unimplemented

* Minor formatting change

* Remove unused fields

Even if they will be used later on, this would be a breaking change.
It's unnecessary to keep these around no matter what the future may
hold.

* Less unwraping now

* Feature gate x11 and wayland, both enabled by default

* Feature gate dependencies

* Menu is now is a new file for both x11 and wayland

* Feature gate everything

* Cargo fmt

* Simplify conditions

Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com>

* Missing paranthesis

Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com>

* Cargo fmt

* Proper debug message

* wayland deps

* xkb dev lib

* Update Cargo.toml

Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com>

* Update .github/workflows/ci.yml

Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com>

* Implement borderless on X11

Co-authored-by: Antonino Siena <a.siena@gmx.de>
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2020-04-14 16:36:54 +02:00
Antonino Siena f97d90b7a7
[Testing] Implement is_active() on windows and x11 (#163)
* X11 implement is_active()

* winapi implement is_active()

Co-authored-by: Antonino Siena <a.siena@gmx.de>
2020-04-06 08:21:03 +02:00
Antonino Siena d77e559b0f
Wayland support (#141)
* Wayland implementation restructuration

* Moved previous X11 code into own module

* Moved some data into a common struct between wayland and x11

* Added glue

* Moved common unix functions into module

* Revert commits

* Update x11.rs

* Update x11.rs

* Cargo fmt

* Cargo fmt

* Initial Wayland struct and constructors

* Create Wayland window first

* Window::new constructor and removed error type

* Complete window creation

* More docs

* Fixed window creation

* Proper window creation

* Added byteorder

* Disallow resize and set_title

* Implement is_open() and get_window_handle()

* Fixed get_size() and implemented set_position()

* Wayland set_position was missing

* Added WIP update methods

* Improved update methods

* Added more prototype functions

* Get Keyboard and Mouse device

* outsource input device creation

* get proper mouse positions

* Properly get scroll wheel

* Implement HasRawWindowHandle for Wayland Window

* Implemented updaterate methods

* is active method

* More key handler methods

* Retrieve all events from keyboard and mouse

* Added more DisplayInfo methods

* Improvements for event handling

* Partial support for scaling

* Properly update buffer

* More imports

* Styling, etc.

* Merge

* More code to update the framebuffer

* Added scaling again

* Readded better event handling

* Properly render all colors as non-transparent ones

* Clear all events after being read

* update_with_buffer_stride is not WIP anymore

* Assume a connected keyboard and pointer device

* Moved keyboard and pointer from DisplayInfo into Window

* Support resizing and checking if the window is still open

* Rendering performance improvement

* Less warnings and some comments

* Byteorder now required anymore

* Not anymore resizing the ShmPool below its previous size and remove WlBuffers when told to

* Removed more magic numbers and added comments

* Proper size check of the buffer size

* Less conversions

* save the previous framebuffer size in DisplayInfo instead of seeking the fd

* Set the pixelformat statically depending on whether alpha channel is allowed or not

* Set the fd length only again when the size really changes

* Save resizability so that the size of the window doesnt get changed.

* Fix rerendering issue

* Fix rerendering issue

* Using unstable protocol to support server-side decorations

* Outsource buffer creation code

* Small improvements and comments

* Replaced usage of atomic types

* Cleanup

* Outsource Input handling into own struct

* Use mspc channels instead of Vec for input handling

* Implemented set_cursor_style()

* Proper cursorstyle into string decoding

* Implemented mouse buttons

* Scroll wheel fix

* Handle scroll events

* Updated code for new version of the wayland crate

* Reset scroll after each update

* Starting on keymap support with xkb

* Revert 19a590a

* Add missing bracket

* added missing minimum version for surface.damage_buffer()

* Fix for corrupted pointer images

* Implement scaling

* Remove comments

* Acknowledge only the last configure event when redrawing

* Assign the closure to the toplevel only once

* Own function for buffer filtering

* Dont truncate the fd anymore

* Proper damage surface

* Preventg display from getting dropped first

* custom BufferPool implementation

* Unneccessary printlns

* ack configure before committing

* set active field when keyboard focus enters/leaves the surface

* save modifiers each time they are changed

* Requires xkbcommon-sys to retrieve the keymap - will later be removed

* Prototype function to convert a key

* simplify keymap creation

* handle key event

* simplify button state evaluation

* Create wl_seat earlier so events are not getting missed

* Added key conversions and key offset

* Cargo fmt

* Update keyhandler

* Renaming

* Update xkb keys

* Input callback

* Numpad corrections

* Remove publicity from functions

* Retrieve input devices as early as possible

* TODO

* Small cleanup

* Proper key modifiers update

* Scale::FitScreen cant be implemented for now

* finish menu functions(copied from x11)

* Clean up some stuff

* unused variables

* Less warnings

* Comments and Variable naming improvements

* retrieve toplevel info now with an own method

* Constants

* Remove unused function

* Unused field

* Unused let binding

* Improve code readability

* Change note

* Comments

* Opinionated cleanup

* Comment out unused variables

Might be used later on

* Mouse buttons with boolean state

* Prototype UnixMenu functions

* Renaming

* unimplemented functions

* actually unimplemented

* Minor formatting change

* Remove unused fields

Even if they will be used later on, this would be a breaking change.
It's unnecessary to keep these around no matter what the future may
hold.

* Less unwraping now

* Feature gate x11 and wayland, both enabled by default

* Feature gate dependencies

* Menu is now is a new file for both x11 and wayland

* Feature gate everything

* Cargo fmt

* Simplify conditions

Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com>

* Missing paranthesis

Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com>

* Cargo fmt

* Proper debug message

* wayland deps

* xkb dev lib

* Update Cargo.toml

Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com>

* Update .github/workflows/ci.yml

Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com>

Co-authored-by: Antonino Siena <a.siena@gmx.de>
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2020-04-05 06:49:25 +02:00
phillvancejr 3d5ae73135
Removed NSLog(@"Names %@", [g_library functionNames]); debug call from src/native/macosx/MacMiniFB.m (#156) 2020-03-31 16:24:21 +02:00
Daniel Collin 1f21794c8c
Lint fix again 2020-03-31 07:40:11 +02:00
Daniel Collin 434ba591f2
Fixed lint error 2020-03-31 07:35:59 +02:00
phillvancejr fbf1d54db6
Added Topmost/Always on Top functionality to MacOS (#154)
* Added a topmost property to WindowOptons and initialized it to false in WindowOption's default method

* Added an mfb_topmost function that sets the window's floating level to NSFloatingWindowLevel so it will be topmost

* Added an extern definition of mfb_topmost and conditionally call it if WindowOptions.topmost is true

* changing mfb_topmost first arg name from win to window to staty consistent with rust extern declaration
2020-03-31 07:28:52 +02:00
Lev Eniseev 096147f288
Change Error to use custom fmt::Debug messages (#152)
std::error::Error::description is deprecated, so I changed the
fmt::Display implementation to rely on fmt::Debug implementation, which,
in turn, return human-readable messages like description was doing
2020-03-18 18:53:24 +01:00
Alex Melville 8ee5269fa2
add get_keys_released method to Window (#151) 2020-03-17 18:17:04 +01:00
Daniel Collin acc25a0176 Added NSView for raw_window_handle on macOS 2020-01-21 22:11:46 +01:00
Daniel Collin 635e2a58e0 Fixed block forever on macOS 2020-01-21 21:32:37 +01:00
Antonino Siena 0a72653310 Restructure Unix implementation in preparation for Wayland support
* Wayland implementation restructuration

* Moved previous X11 code into own module

* Moved some data into a common struct between wayland and x11

* Added glue

* Moved common unix functions into module

* Revert commits

* Update x11.rs

* Update x11.rs

* Cargo fmt

* Cargo fmt
2020-01-18 09:15:15 +01:00
Daniel Collin 6d616640dc Rustfmt pass 2020-01-01 09:53:28 +01:00
Antonino Siena 51bdfcc5ca Moved codebase to edition 2018 (#127)
* Moved to Rust edition 2018

* Changed redox code as well

* Undo typo

* Another correction
2019-12-30 19:34:27 +01:00
Daniel Collin 745cfec45e Added proper access to HasRawWindowHandle 2019-12-27 13:26:41 +01:00
Daniel Collin 84242d62b7 rustfmt pass 2019-12-16 08:41:06 +01:00
Daniel Collin 8b3c2e9b37
Merge dev -> master (#119)
* Deprecated update_with_buffer and added a temporary (update_with_buffer_size) for now. This will later be removed and the update_with_buffer is requiring the size to bu suplied

* Reparation for 0.14 release

* Missed one case

* Minor cleanup

* Switch to C scalar for Unix + rename

Reason is so we can always use optimized scalar even in debug.
Also removed _size so only update_with_buffer(..) takes width, height of the input buffer

* Implemented AspectRatio aware scale on nix

* Implemented image center

* Added UpperLeft center mode for unix

* Moving macOS over to sized update

* Fixed resize not working on macOS

* WIP on macOS

* More WIP on macOS version

* Bunch of macOS updates and fixes

* Fixed broken bg color on macOS

* Windows fixes WIP

* Remove some spamming

* More windows fixes

* Windows fixes for cursor and warnings

* Some cleanup

* rustfmt pass

* Fixed typo

* Added support for limiting update rate

* Added update rate to Windows

* Added update rate to macOS

* Misc fixes

* Fixed resources and maintance badge

* Updated readme

* Updated changelog

* Added rate limit
2019-12-16 08:24:48 +01:00
Daniel Collin f181e2d67c Fixed resize not working on macOS 2019-12-07 20:11:11 +01:00
Daniel Collin 01e0ead2ad fixed typo 2019-12-03 15:36:55 +01:00
Daniel Collin daa57e9fa9 Set arrow as default cursor on Windows 2019-12-03 15:31:45 +01:00
Daniel Collin 5772cc5380
Merge dev -> master (#111)
* Deprecated update_with_buffer and added a temporary (update_with_buffer_size) for now. This will later be removed and the update_with_buffer is requiring the size to bu suplied

* Reparation for 0.14 release

* Missed one case
2019-12-03 15:24:03 +01:00
Daniel Collin a2633f78ad
Raw window handle (#110)
* Added support for raw-window-handle

Ref #104

* Fixed some typos

* Fixed more typos

* windows fix

* Another windows fix

* Another typo

* More typos

* More windwos fixes

* Yet anonther Windows fix
2019-12-02 15:51:46 +01:00
Daniel Collin 8de9567541 rustfmt pass 2019-11-27 08:03:33 +01:00
Gary Guo bf4eb2d092 Handle missing Alt keys in X11 (#99) 2019-11-04 08:15:19 +01:00
Gary Guo e2acdad0c2 Fix window close handling (#98)
Currently we interned WM_DELETE_WINDOW but does not call
XSetWMProtocols to listen to it, causing a fatal error when
closing the window by clicking "X". This patch fixes the issue.
2019-11-02 09:03:49 +01:00
Venceslas 5234be4283 fix 'attempt to subtract with overflow' bug (#96)
* fix 'attempt to subtract with overflow' bug

* Little mistake
2019-10-29 09:30:18 +01:00
Daniel Collin 24d2ce4a99 Better modifier handling on macOS 2019-10-28 09:39:38 +01:00
Daniel Collin 644ff06483 Stop spam 2019-10-28 09:39:02 +01:00
Daniel Collin b4675905d2 WIP on macOS resizing support 2019-10-01 16:36:33 +02:00
Arif Roktim 0e3bf4a7e2 Improve documentation for method update_with_buffer of Window (#89) 2019-09-27 09:24:57 +02:00
Gary Guo c56ea6dae9 Improvement in doc and doc tests (#86)
* Fixed a few mistakes in docs
* Convert `ignore` examples to `no_run` examples, so `cargo test` will
  make sure they compiles.
2019-09-24 07:55:26 +02:00
Johannes Stölp e20257db79 unix: replaced scale functions with macro and added missing invocations (#79) 2019-08-23 07:26:14 +02:00
Daniel Collin b62382bf0c Fixed some compiler warnings 2019-07-21 10:37:47 +02:00
Chris West 2b8094cc6c x11 and examples: resize (#72)
* warnings / clippy

* x11: remove deprecated, ignored position hints

* x11: only non-resizable windows have fixed size

* x11: handle resizes of ximage
2019-04-01 10:19:23 +02:00
Chris West d6271e513d Rewrite linux backend in rust (#70)
* x11-rs : don't build libminifb_native.a

* x11-rs : commented out all calls to the mfb_xxx functions.

* x11-rs : added handle field to Window, type is xlib::Window.

Also implemented the get_window_handle() method.

* x11-rs : created a DisplayInfo struct with a setup() method.

* x11-rs : fleshed out DisplayInfo::setup() method some more.

* x11-rs : updated Cargo.toml to require x11_dl "2.16".

That is because we need the XContext type, which seems to be
unavailable in the 2.14 version.

* x11-rs : code to call the XCreateWindow() function.

* x11-rs : call XMapRaise() and XFlush() on our window.

* x11-rs : more work on Window::new() -- ported more stuff from mfb_open().

* x11-rs : create the 'ximage' field in Window::new().

* x11-rs : removed SharedData struct, moved fields into Window.

* x11-rs : ported the set_window_title() method.

* x11-rs : ported creating a "draw_buffer" and the 1:1 scaling code.

* x11-rs : ported the scale_2x() function.

* x11-rs : ported the scale_4x() function.

* x11-rs : ported the set_position() method.

* x11-rs : ported the mfb_close() code, i.e. Drop trait on a Window.

* x11-rs : tidied up code computing "scale" value for a new window.

* x11-rs : implemented Drop trait for DisplayInfo.

* x11-rs : updated the get_scroll_wheel() method.

* x11-rs : tidy up update_with_buffer() and check buffer size.

* x11-rs : ported the check_formats() code.

* x11-rs : ported the init_cursors() code.

* x11-rs : ported the set_cursor_style() code.

* x11-rs : ported the raw_get_mouse_pos() code.

* x11-rs : moved the code implementing Drop trait for Window.

* x11-rs : ported the basic event loop (i.e. raw_process_events).

* x11-rs : ported code handling the WM_DELETE_WINDOW client message.

* x11-rs : added code file "src/os/unix/key_mapping.rs"

This file contains code to map an X keysym to a Unicode char,
which is done via a binary search on a large table.  I ported
the code to Rust and rewrote the binary search as a recursive
function.

* x11-rs : ported the XkbQueryExtension() code.

* x11-rs : fleshed out the process_key() code.

* x11-rs : added test code for keysym_to_unicode(), fixed a table entry.

* x11-rs : another test value for the key_mapping test code.

* x11-rs : ported the update_key_state() code.

* x11-rs : ported the char_callback() code.

* x11-rs : ported the mouse button handling code.

* x11-rs : ported code handling the XConfigureNotify event.

* x11-rs : code tidying, silence most compiler warnings.

* x11-rs : removed the native C code: X11MiniFB.c

* x11-rs : fixed bug in the button handling code.

* x11-rs : made the scale_2x() and scale_4x() code faster.

* merge error

* whitespace

* fix cursors: bad string handling

* upgrade x11-dl

* merge scaling implementations

* multi-window example
2019-03-30 08:18:42 +01:00
Richard Hozák 6c4cba9895 Update winapi (#69)
* Remove duplicate windows dependencies in favor of cfg attribute

* Replace user32 with winuser from winapi

* More replacements from winapi-rs

* Fix remaining type imports

* Remove user32, kernel32 and gdi32 sys crates

Everything comes from winapi-rs now.

* Specify only the features of winapi-rs we need

* Remove star glob imports
2019-03-21 09:55:06 +01:00
Chris West ac624f5a26 raise shared_data update (#68)
This helps the check_buffer_size run against the actual
window size, which stops us from segfaulting if the
window size has changed unexpectedly, e.g. because a
window manager is evil.
2019-03-14 16:29:59 +01:00
Nagy Tibor ceadd15e6c Bump orbclient to 0.3.20 on Redox, remove alpha handling hacks (#67) 2019-01-15 06:10:05 +01:00
Holden 0b5e39c396 Add additional derived traits to Key enum (#65)
* Add partial ord and partial eq to keys enum

* Derive eq on key

* Derive ord
2018-12-29 08:37:56 +01:00
tdaffin 3aaf613edd Added Window.is_key_released (#62)
* Added Window.is_key_released

* Add is_key_released for the other platforms
2018-12-18 11:20:32 +01:00
Daniel Collin 79608b38a2 merge macos-metal -> master
commit 2d8e0c1692120e9997bd8d376be8a7cc2536429d
Author: Daniel Collin <daniel@collin.com>
Date:   Tue Oct 23 20:51:09 2018 +0200

    Bump to 0.11 and added info about macOS Metal

commit 0f77968317194f2f72b86da287c04484aeee762a
Author: Daniel Collin <daniel@collin.com>
Date:   Sun Oct 21 17:44:26 2018 +0200

    Tripple buffer textures

commit d268c10576c7e9063bd4605aed4a939d956eeb6b
Author: Daniel Collin <daniel@collin.com>
Date:   Sun Oct 21 16:59:20 2018 +0200

    Some cleanup

commit 5544773e62afec6f69d0c3b6309e60a543905fef
Author: Daniel Collin <daniel@collin.com>
Date:   Sun Oct 21 16:24:45 2018 +0200

    Working but no proper sync yet

commit 843a6625cfddac5a6e2d8e61170f796e763e4002
Author: Daniel Collin <daniel@collin.com>
Date:   Sun Oct 21 15:26:45 2018 +0200

    Working texture

commit 1d4446f1f10c497dde07e0d20c92eb8bb6f836ec
Author: Daniel Collin <daniel@collin.com>
Date:   Sun Oct 21 14:45:52 2018 +0200

    Removed vertex data

    We construct this in the shader instead

commit 2e8027d73a1635e26e412dbda6494193fd04a060
Author: Daniel Collin <daniel@collin.com>
Date:   Sun Oct 21 14:42:36 2018 +0200

    Fullscreen triangle setup

commit 5efd974704c11577944ffdeff9eb9dd4fa40bde0
Author: Daniel Collin <daniel@collin.com>
Date:   Sun Oct 21 14:16:23 2018 +0200

    Triangle on screen

commit d9cf4eb7557f73adfbe1764f3da94a837a4ef8d3
Author: Daniel Collin <daniel@collin.com>
Date:   Sun Oct 21 12:17:04 2018 +0200

    Some hacky metal with clear screen
2018-10-23 20:51:50 +02:00
Daniel Collin 335f505ef2 Removed updateLayer 2018-10-20 09:33:21 +02:00
Daniel Collin 2e2bd93a1c fixed tabs 2018-10-20 09:31:46 +02:00
Daniel Collin 450502f672 Fixed macOS warnings 2018-10-19 22:05:15 +02:00
Lukas Kalbertodt 87e742047d Add debug impls (#56)
* Add missing `Debug` impls to public types

In one case, a missing Clone and Copy impl was added, too.

* Remove several `doc(hidden)` & make some modules private

I'm not quite sure why it was done the way it was. This change makes
items that were used in the public API visible in the documentation. It
also makes modules not used in the public API private.

* Add `#![deny(missing_debug_implementations)]` to crate root
2018-08-10 09:14:14 +02:00
Daniel Collin 3d70a5c7dc Added x16 and x32 scale to X11 2018-05-18 21:59:19 +02:00
Nagy Tibor 5e16895b7d Update orbclient to 0.3.14 on Redox (#55) 2018-05-16 07:12:32 +01:00
Daniel Collin 26e6eca208 Fixed auto scaling and added X8 on Linux
Closes #51
Closes #52
2018-05-05 15:14:57 +02:00
Nagy Tibor 3ffa7ad684 Fix Redox build (#41) 2017-08-15 19:28:44 +02:00
Daniel Collin 5d70e6fc5c Another linux fix 2017-08-11 12:51:04 +02:00
Daniel Collin eaa0440e8c Another linux fix 2017-08-11 12:49:06 +02:00
Daniel Collin ca264a7b9a Linux fix 2017-08-11 12:46:34 +02:00
Daniel Collin 900deba9a7 Implemented bounds checking for update_with_buffer 2017-08-11 12:41:24 +02:00
Krzysztof Kondrak 600749fd8a Support period key on *nix. (#37) 2017-07-08 13:57:34 +02:00
xTibor f4bd8b7704 Redox support (#35) 2017-04-24 09:09:05 +02:00
FlyingGaz 933d7662fb Use to_vec in windows/update_with_buffer (#33) 2017-01-15 17:46:02 +01:00
Daniel Collin 76d9351dc2 Fixed warning 2016-08-02 18:20:19 +02:00
Daniel Collin 4087f3c4c3 Added get_unscaled_mouse_pos 2016-08-02 18:01:25 +02:00
Daniel Collin 26d41d1d07 Fixed crash on Mac for large Windows
In some cases a resize event can happen before we have setup our user-data. Now we make sure that user data is present before using it

Closes #26
2016-07-31 18:05:11 +02:00
Daniel Collin d4c7100b44 Fixed “plonk sound” on Mac
Ref #25
2016-07-29 11:00:34 +02:00
Daniel Collin b27ea2bec1 Fixed correct window size on Mac 2016-07-29 11:00:34 +02:00
Aleksey Kladov 0f6b312e5c Fix typos 2016-07-26 14:43:45 +03:00
Daniel Collin f848eaaee5 Merge branch 'master' of https://github.com/emoon/rust_minifb 2016-07-08 20:13:44 +02:00
Daniel Collin d4c9413835 Support for keypad on Linux 2016-07-08 20:13:28 +02:00
Daniel Collin 99c9bbdfac Swapped incorrect order of resize cursors 2016-07-08 14:27:51 +02:00
Daniel Collin 2a8d09fb28 Char input support on Windows 2016-07-08 14:27:25 +02:00
Daniel Collin 1ca62fa111 Fixed Backspace on Linux 2016-07-08 13:56:41 +02:00
Daniel Collin 948dd54595 Implementd char callback on Linux 2016-07-08 13:29:49 +02:00
Daniel Collin 495f7c4cca Added set_title and set_cursor_style 2016-06-24 13:08:01 +02:00
Daniel Collin 596c5a7097 Char callback got lost for some reason 2016-05-27 18:15:58 +02:00
Daniel Collin b5f3cf1ca3 Merge menu-api-rework -> master
Rewrote Menu API
2016-05-12 20:08:37 +02:00
Daniel Collin 57906b26b8 Removed old menu code 2016-05-09 16:42:24 +02:00
Daniel Collin 06c7c6b05b Added code for menu destroy
But it doesn't work for some reason
2016-05-09 16:41:01 +02:00
Daniel Collin 462effd03c Added accel keys
Fn keys doesn't seem to work yet though
2016-05-09 16:05:53 +02:00
Daniel Collin 37292a70cf Inital menus for Windows implemented 2016-05-09 15:49:26 +02:00
Daniel Collin 0f1ed50f36 Cleanup 2016-05-08 13:43:25 +02:00
Daniel Collin 8f687c58db Some more cleanup 2016-05-08 13:37:20 +02:00
Daniel Collin df60ca8ecd Cleanup 2016-05-08 13:34:38 +02:00
Daniel Collin 0ffa3bf196 Support for removing menus 2016-05-08 13:27:55 +02:00
Daniel Collin d3fcfd4bf0 Fixed f-keys 2016-05-08 11:00:50 +02:00
Daniel Collin 3c2451c2ec Rustfmt 2016-05-08 10:33:27 +02:00
Daniel Collin 10de5cd84e Cleanup 2016-05-08 10:31:58 +02:00
Daniel Collin ab924a4b0d Submenu support 2016-05-08 10:24:37 +02:00
Daniel Collin 6f47d190b6 Cleanup + shortcut work 2016-05-08 09:42:21 +02:00
Daniel Collin 835837286f Made it possible to add menu items using builder 2016-05-08 09:28:43 +02:00
Daniel Collin 25ed203497 Fixed shortcuts on Mac 2016-05-08 08:55:22 +02:00
Daniel Collin 42ce3b9286 WIP on new menu stuff 2016-05-08 00:25:31 +02:00
Daniel Collin 4a3eabe8e6 WIP on new Menu system 2016-05-07 12:51:14 +02:00