Re: SFML2 Demo Dilema
- Posted by Icy_Viking May 09, 2015
- 2532 views
Thanks for the help. I overlooked the original post. I believe I am homing in on the problem. The window dosen't close still, but I believe there may be something wrong with how the flag type is declared, compared to what the C code is.
// C code from SFML typedef enum { sfEvtClosed, ///< The window requested to be closed (no data) sfEvtResized, ///< The window was resized (data in event.size) sfEvtLostFocus, ///< The window lost the focus (no data) sfEvtGainedFocus, ///< The window gained the focus (no data) sfEvtTextEntered, ///< A character was entered (data in event.text) sfEvtKeyPressed, ///< A key was pressed (data in event.key) sfEvtKeyReleased, ///< A key was released (data in event.key) sfEvtMouseWheelMoved, ///< The mouse wheel was scrolled (data in event.mouseWheel) sfEvtMouseButtonPressed, ///< A mouse button was pressed (data in event.mouseButton) sfEvtMouseButtonReleased, ///< A mouse button was released (data in event.mouseButton) sfEvtMouseMoved, ///< The mouse cursor moved (data in event.mouseMove) sfEvtMouseEntered, ///< The mouse cursor entered the area of the window (no data) sfEvtMouseLeft, ///< The mouse cursor left the area of the window (no data) sfEvtJoystickButtonPressed, ///< A joystick button was pressed (data in event.joystickButton) sfEvtJoystickButtonReleased, ///< A joystick button was released (data in event.joystickButton) sfEvtJoystickMoved, ///< The joystick moved along an axis (data in event.joystickMove) sfEvtJoystickConnected, ///< A joystick was connected (data in event.joystickConnect) sfEvtJoystickDisconnected, ///< A joystick was disconnected (data in event.joystickConnect) sfEvtTouchBegan, ///< A touch event began (data in event.touch) sfEvtTouchMoved, ///< A touch moved (data in event.touch) sfEvtTouchEnded, ///< A touch event ended (data in event.touch) sfEvtSensorChanged, ///< A sensor value changed (data in event.sensor) sfEvtCount, ///< Keep last -- the total number of event types } sfEventType;
--Flag code public enum type sfEventType sfEvtClosed, sfEvtResized, sfEvtLostFocus, sfEvtGainedFocus, sfEvtTextEntered, sfEvtKeyPressed, sfEvtKeyReleased, sfEvtMouseWheelMoved, sfEvtMouseButtonPressed, sfEvtMouseButtonReleased, sfEvtMouseMoved, sfEvtMouseEntered, sfEvtMouseLeft, sfEvtJoystickButtonPressed, sfEvtJoystickButtonReleased, sfEvtJoystickMoved, sfEvtJoystickConnected, sfEvtJoystickDisconnected, sfEvtTouchBegan, sfEvtTouchMoved, sfEvtTouchEnded, sfEvtSensorChanged, sfEvtCount end type
--Actual demo code without warning include std/machine.e include EuSys2.ew include EuGfx2.ew include sfFlags.e atom win = sfRenderWindow_create(800,600,32,"My Window",sfClose,0) if win = -1 then puts(1,"Could not create render window!\n") abort(0) end if constant event = allocate(4 * 6) while sfRenderWindow_isOpen(win) do while sfRenderWindow_pollEvent(win,event) do integer eventType = peek4s(event) integer code = peek4s(event+4) integer alt = peek4s(event+8) integer control = peek4s(event+12) integer shift = peek4s(event+16) integer system = peek4s(event+20) if eventType = sfEvtClosed then sfRenderWindow_close(win) end if end while sfRenderWindow_clear(win,sfBlack) sfRenderWindow_display(win) end while sfRenderWindow_destroy(win)