939 Commits

Author SHA1 Message Date
Thomas Bernard
a514f7e9a2 use MessageBox() to display error messages under Win32 2018-07-02 11:38:51 +02:00
Thomas Bernard
131e0f9630 win32 implementation of Update_status_line() 2018-07-02 11:38:51 +02:00
Thomas Bernard
18e942d486 Support fullscreen with SDL2 2018-07-02 11:38:51 +02:00
Thomas Bernard
099301721e Properly set icon for SDL2. Also use the .png which is better resolution 2018-07-02 11:38:51 +02:00
Thomas Bernard
53aa22263f Allow SDL2 window to be resized 2018-07-02 11:38:51 +02:00
Thomas Bernard
13883b7928 remove commented out code 2018-07-02 11:38:51 +02:00
Thomas Bernard
32f6cbfb5c forbid GFX2_Surfaces with 0 pixels 2018-07-02 11:38:51 +02:00
Thomas Bernard
01c6a9cd09 Fix Drop file with SDL/Win32. implement it with plain win32
we have to handle both unicode and non unicode builds
2018-07-02 11:38:51 +02:00
Thomas Bernard
cb2d479867 add GFX2_Get_Window_Handle() to get the win32 HWND
and use it
2018-07-02 11:38:51 +02:00
Thomas Bernard
b6dec6d3f7 fix link with SDL_ttf when cross compiling for windows 2018-07-02 11:38:51 +02:00
Thomas Bernard
c6fdb6064c Cleanup : rename Set_mode_SDL() to GFX2_Set_mode() 2018-07-02 11:38:51 +02:00
Thomas Bernard
af25970c09 Fix Joystick support (with SDL and SDL2) 2018-07-02 11:38:51 +02:00
Thomas Bernard
b4f4fcf51d SDL2: fix link with SDL2_ttf lib 2018-07-02 11:38:51 +02:00
Thomas Bernard
3b69ccb1ec SFont now uses T_GFX2_Surface instead of SDL_Surface 2018-07-02 11:38:51 +02:00
Thomas Bernard
6aaef13a6b Fix readline for Win32 and SDL 2018-07-02 11:38:51 +02:00
Thomas Bernard
238d49ce35 display OpenType fonts, small fixes in Win32 drawtext 2018-07-02 11:38:51 +02:00
Thomas Bernard
19dd4a1730 use Insert_font() to insert font in font list 2018-07-02 11:38:51 +02:00
Thomas Bernard
d809adb540 Process Win32 commandline 2018-07-02 11:38:51 +02:00
Thomas Bernard
26d0b8339f Win32: Fix Screen_FillRect() : add clipping 2018-07-02 11:38:51 +02:00
Thomas Bernard
9f9c21de21 backup position of windows (Win32 API) 2018-07-02 11:38:51 +02:00
Thomas Bernard
6b6b17a2fb correctly handle WM_CLOSE 2018-07-02 11:38:51 +02:00
Thomas Bernard
3e32bc0c39 Fix endian aware load/save when SDL is disabled 2018-07-02 11:38:51 +02:00
Thomas Bernard
161357d331 Win32: support Key modifiers and mouse wheel 2018-07-02 11:38:51 +02:00
Thomas Bernard
c3aa989a42 ignore WM_NCHITTEST and WM_ERASEBKGND 2018-07-02 11:38:51 +02:00
Thomas Bernard
30aac19f27 implement Get_Key_modifiers for Win32 2018-07-02 11:38:51 +02:00
Thomas Bernard
84fdc001cd Display Truetype fonts with Win32 API 2018-07-02 11:38:51 +02:00
Thomas Bernard
486a0a09d4 support Fullscreen with Win32 API 2018-07-02 11:38:51 +02:00
Thomas Bernard
48ee0c06d2 allow win32 window to be resized 2018-07-02 11:38:51 +02:00
Thomas Bernard
eb65d1006a win32: avoid taking 100% CPU time 2018-07-02 11:38:51 +02:00
Thomas Bernard
467eeaf217 correct definitions for win32 key codes VK_* 2018-07-02 11:38:51 +02:00
Thomas Bernard
2d46fbc4d6 factory.c: include <stdlib.h> for atof() 2018-07-02 11:38:51 +02:00
Thomas Bernard
4b28894bb8 cross compilation of Win32 version (using win32 API) 2018-07-02 11:38:51 +02:00
Thomas Bernard
deac8b83cf keyboard support for windows 2018-07-02 11:38:51 +02:00
Thomas Bernard
9ac4267468 Working win32 API implementation with mouse
(no keyboard yet)
2018-07-02 11:38:51 +02:00
Thomas Bernard
aa73e76e67 SDL2: readline.c uses SDL_TEXTINPUT unicode input text 2018-07-02 11:38:51 +02:00
Thomas Bernard
501ce2a4ad Make keyboard event work with SDL2 2018-07-02 11:38:51 +02:00
Thomas Bernard
22e0bcc01f introduce GFX2_UpdateScreen() 2018-07-02 11:38:51 +02:00
Thomas Bernard
bf29a6837c remove references to SDL_GetModState();
changed
word Key_modifiers(SDLMod mod);
to
word Get_Key_modifiers(void);
2018-07-02 11:38:51 +02:00
Thomas Bernard
7f1a747d1e Add more KEY_* codes 2018-07-02 11:38:51 +02:00
Thomas Bernard
b5e75d77b1 add skeleton of win32 implementation 2018-07-02 11:38:51 +02:00
Thomas Bernard
3e4f3d0313 WIP. build under Win32 without SDL 2018-07-02 11:38:51 +02:00
Thomas Bernard
4d86b8a0c1 change all references to SDLK_xxxxx to KEY_xxxx
+ some fixes
2018-07-02 11:38:51 +02:00
Thomas Bernard
77005eb780 use screen.h instead of sdlscreen.h, etc.
Create grafx2-win32 MSVC++ project
create keycode.h
various fixes
2018-07-02 11:38:51 +02:00
Thomas Bernard
d86efa58e4 Compilation with SDL2 (to be finalized) > API=sdl2 make 2018-07-02 11:38:51 +02:00
Thomas Bernard
5c761ace2c Use KEY_NONE for buttons without key shortcuts
SDLK_LAST was used, but it is SDL 1.x specific
2018-07-02 11:38:51 +02:00
Thomas Bernard
fb51c1bb1c SDL_GetTicks() => GFX2_GetTicks()
Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-07-02 11:38:51 +02:00
Thomas Bernard
a6c948b27e don't use SDL in Load_surface() anymore
So the init phase does not depend on SDL anymore.

Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-07-02 11:38:51 +02:00
Thomas Bernard
72fea0290f isolate dependencies to SDL
Do not access directly the SDL_Surface Screen_pixels
use new functions Get_Screen_pixel_ptr() Set_Screen_pixel(),
Get_Screen_pixel()
And SetPalette()

Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-07-02 11:38:51 +02:00
Thomas Bernard
c6975afe94 prepare Makefile to allow build with SDL, SDL2 or another "video API"
update Visual C project as well
2018-07-02 11:38:51 +02:00
Adrien Destugues
9d46d1e90f Implement a more generic "rasters" mode for CPC
This is similar to mode 5, but with less constraints:
- All inks can have split rasters
- Split rasters have a min width of 32 pixels

Note that this is nowhere near enough to make sure the image will be
renderable (number of colors should be limited, unless there is a span
without rasters allowing to reload registers with new colors, and
moving from one pen to another also has a cost). The goal is to offer no
over-restriction (everything that can be shown on the real machine is
drawable). Additional constraints may be checked from a lua script that
will generate the code and data for displaying the picture.
2018-06-29 11:02:34 +02:00