Ecore_Win32 is a library that wraps Windows graphic functions and integrate them nicely into the Ecore main loop. More...

Data Structures

struct  _Ecore_Win32_Event_Mouse_In
 Event sent when the mouse enters the window. More...
 
struct  _Ecore_Win32_Event_Mouse_Out
 Event sent when the mouse leaves the window. More...
 
struct  _Ecore_Win32_Event_Window_Focus_In
 Event sent when the window gets the focus. More...
 
struct  _Ecore_Win32_Event_Window_Focus_Out
 Event sent when the window looses the focus. More...
 
struct  _Ecore_Win32_Event_Window_Damage
 Event sent when the window is damaged. More...
 
struct  _Ecore_Win32_Event_Window_Create
 Event sent when the window is created. More...
 
struct  _Ecore_Win32_Event_Window_Destroy
 Event sent when the window is destroyed. More...
 
struct  _Ecore_Win32_Event_Window_Hide
 Event sent when the window is hidden. More...
 
struct  _Ecore_Win32_Event_Window_Show
 Event sent when the window is shown. More...
 
struct  _Ecore_Win32_Event_Window_Configure
 Event sent when the window is configured. More...
 
struct  _Ecore_Win32_Event_Window_Resize
 Event sent when the window is resized. More...
 
struct  _Ecore_Win32_Event_Window_Delete_Request
 Event sent when the window is deleted. More...
 

Typedefs

typedef void Ecore_Win32_Cursor
 Abstract type for a cursor.
 
typedef struct
_Ecore_Win32_Event_Mouse_In 
Ecore_Win32_Event_Mouse_In
 Event sent when the mouse enters the window.
 
typedef struct
_Ecore_Win32_Event_Mouse_Out 
Ecore_Win32_Event_Mouse_Out
 Event sent when the mouse leaves the window.
 
typedef struct
_Ecore_Win32_Event_Window_Focus_In 
Ecore_Win32_Event_Window_Focus_In
 Event sent when the window gets the focus.
 
typedef struct
_Ecore_Win32_Event_Window_Focus_Out 
Ecore_Win32_Event_Window_Focus_Out
 Event sent when the window looses the focus.
 
typedef struct
_Ecore_Win32_Event_Window_Damage 
Ecore_Win32_Event_Window_Damage
 Event sent when the window is damaged.
 
typedef struct
_Ecore_Win32_Event_Window_Create 
Ecore_Win32_Event_Window_Create
 Event sent when the window is created.
 
typedef struct
_Ecore_Win32_Event_Window_Destroy 
Ecore_Win32_Event_Window_Destroy
 Event sent when the window is destroyed.
 
typedef struct
_Ecore_Win32_Event_Window_Hide 
Ecore_Win32_Event_Window_Hide
 Event sent when the window is hidden.
 
typedef struct
_Ecore_Win32_Event_Window_Show 
Ecore_Win32_Event_Window_Show
 Event sent when the window is shown.
 
typedef struct
_Ecore_Win32_Event_Window_Configure 
Ecore_Win32_Event_Window_Configure
 Event sent when the window is configured.
 
typedef struct
_Ecore_Win32_Event_Window_Resize 
Ecore_Win32_Event_Window_Resize
 Event sent when the window is resized.
 
typedef struct
_Ecore_Win32_Event_Window_Delete_Request 
Ecore_Win32_Event_Window_Delete_Request
 Event sent when the window is deleted.
 
typedef int(* Ecore_Win32_Dnd_DropTarget_Callback )(void *window, int event, int pt_x, int pt_y, void *data, int size)
 Callback type for Drop operations. More...
 

Enumerations

enum  Ecore_Win32_Window_State {
  ECORE_WIN32_WINDOW_STATE_ICONIFIED,
  ECORE_WIN32_WINDOW_STATE_MODAL,
  ECORE_WIN32_WINDOW_STATE_STICKY,
  ECORE_WIN32_WINDOW_STATE_MAXIMIZED_VERT,
  ECORE_WIN32_WINDOW_STATE_MAXIMIZED_HORZ,
  ECORE_WIN32_WINDOW_STATE_MAXIMIZED,
  ECORE_WIN32_WINDOW_STATE_SHADED,
  ECORE_WIN32_WINDOW_STATE_HIDDEN,
  ECORE_WIN32_WINDOW_STATE_FULLSCREEN,
  ECORE_WIN32_WINDOW_STATE_ABOVE,
  ECORE_WIN32_WINDOW_STATE_BELOW,
  ECORE_WIN32_WINDOW_STATE_DEMANDS_ATTENTION,
  ECORE_WIN32_WINDOW_STATE_UNKNOWN
}
 State of a window. More...
 
enum  Ecore_Win32_Window_Type {
  ECORE_WIN32_WINDOW_TYPE_DESKTOP,
  ECORE_WIN32_WINDOW_TYPE_DOCK,
  ECORE_WIN32_WINDOW_TYPE_TOOLBAR,
  ECORE_WIN32_WINDOW_TYPE_MENU,
  ECORE_WIN32_WINDOW_TYPE_UTILITY,
  ECORE_WIN32_WINDOW_TYPE_SPLASH,
  ECORE_WIN32_WINDOW_TYPE_DIALOG,
  ECORE_WIN32_WINDOW_TYPE_NORMAL,
  ECORE_WIN32_WINDOW_TYPE_UNKNOWN
}
 Type of a window. More...
 
enum  Ecore_Win32_Cursor_Shape {
  ECORE_WIN32_CURSOR_SHAPE_APP_STARTING,
  ECORE_WIN32_CURSOR_SHAPE_ARROW,
  ECORE_WIN32_CURSOR_SHAPE_CROSS,
  ECORE_WIN32_CURSOR_SHAPE_HAND,
  ECORE_WIN32_CURSOR_SHAPE_HELP,
  ECORE_WIN32_CURSOR_SHAPE_I_BEAM,
  ECORE_WIN32_CURSOR_SHAPE_NO,
  ECORE_WIN32_CURSOR_SHAPE_SIZE_ALL,
  ECORE_WIN32_CURSOR_SHAPE_SIZE_NESW,
  ECORE_WIN32_CURSOR_SHAPE_SIZE_NS,
  ECORE_WIN32_CURSOR_SHAPE_SIZE_NWSE,
  ECORE_WIN32_CURSOR_SHAPE_SIZE_WE,
  ECORE_WIN32_CURSOR_SHAPE_UP_ARROW,
  ECORE_WIN32_CURSOR_SHAPE_WAIT
}
 Shape of a cursor. More...
 
enum  Ecore_Win32_DnD_State {
  ECORE_WIN32_DND_EVENT_DRAG_ENTER = 1,
  ECORE_WIN32_DND_EVENT_DRAG_OVER = 2,
  ECORE_WIN32_DND_EVENT_DRAG_LEAVE = 3,
  ECORE_WIN32_DND_EVENT_DROP = 4
}
 State of a DnD operation. More...
 

Functions

EAPI int ecore_win32_init ()
 Initialize the Ecore_Win32 library. More...
 
EAPI int ecore_win32_shutdown ()
 Shut down the Ecore_Win32 library. More...
 
EAPI int ecore_win32_screen_depth_get ()
 Retrieve the depth of the screen. More...
 
EAPI void ecore_win32_double_click_time_set (double t)
 Sets the timeout for a double and triple clicks to be flagged. More...
 
EAPI double ecore_win32_double_click_time_get (void)
 Retrieve the double and triple click flag timeout. More...
 
EAPI unsigned long ecore_win32_current_time_get (void)
 Return the last event time. More...
 
EAPI Ecore_Win32_Windowecore_win32_window_new (Ecore_Win32_Window *parent, int x, int y, int width, int height)
 Creates a new window. More...
 
EAPI Ecore_Win32_Windowecore_win32_window_override_new (Ecore_Win32_Window *parent, int x, int y, int width, int height)
 Creates a new borderless window. More...
 
EAPI void ecore_win32_window_free (Ecore_Win32_Window *window)
 Free the given window. More...
 
EAPI void * ecore_win32_window_hwnd_get (Ecore_Win32_Window *window)
 Return the window HANDLE associated to the given window. More...
 
EAPI void ecore_win32_window_move (Ecore_Win32_Window *window, int x, int y)
 Move the given window to a given position. More...
 
EAPI void ecore_win32_window_resize (Ecore_Win32_Window *window, int width, int height)
 Resize the given window to a given size. More...
 
EAPI void ecore_win32_window_move_resize (Ecore_Win32_Window *window, int x, int y, int width, int height)
 Move and resize the given window to a given position and size. More...
 
EAPI void ecore_win32_window_geometry_get (Ecore_Win32_Window *window, int *x, int *y, int *width, int *height)
 Get the geometry of the given window. More...
 
EAPI void ecore_win32_window_size_get (Ecore_Win32_Window *window, int *width, int *height)
 Get the size of the given window. More...
 
EAPI void ecore_win32_window_size_min_set (Ecore_Win32_Window *window, unsigned int min_width, unsigned int min_height)
 Set the minimum size of the given window. More...
 
EAPI void ecore_win32_window_size_min_get (Ecore_Win32_Window *window, unsigned int *min_width, unsigned int *min_height)
 Get the minimum size of the given window. More...
 
EAPI void ecore_win32_window_size_max_set (Ecore_Win32_Window *window, unsigned int max_width, unsigned int max_height)
 Set the maximum size of the given window. More...
 
EAPI void ecore_win32_window_size_max_get (Ecore_Win32_Window *window, unsigned int *max_width, unsigned int *max_height)
 Get the maximum size of the given window. More...
 
EAPI void ecore_win32_window_size_base_set (Ecore_Win32_Window *window, unsigned int base_width, unsigned int base_height)
 Set the base size of the given window. More...
 
EAPI void ecore_win32_window_size_base_get (Ecore_Win32_Window *window, unsigned int *base_width, unsigned int *base_height)
 Get the base size of the given window. More...
 
EAPI void ecore_win32_window_size_step_set (Ecore_Win32_Window *window, unsigned int step_width, unsigned int step_height)
 Set the step size of the given window. More...
 
EAPI void ecore_win32_window_size_step_get (Ecore_Win32_Window *window, unsigned int *step_width, unsigned int *step_height)
 Get the step size of the given window. More...
 
EAPI void ecore_win32_window_show (Ecore_Win32_Window *window)
 Show the given window. More...
 
EAPI void ecore_win32_window_hide (Ecore_Win32_Window *window)
 Hide the given window. More...
 
EAPI void ecore_win32_window_raise (Ecore_Win32_Window *window)
 Place the given window at the top of the Z order. More...
 
EAPI void ecore_win32_window_lower (Ecore_Win32_Window *window)
 Place the given window at the bottom of the Z order. More...
 
EAPI void ecore_win32_window_title_set (Ecore_Win32_Window *window, const char *title)
 Set the title of the given window. More...
 
EAPI void ecore_win32_window_focus (Ecore_Win32_Window *window)
 Set the focus to the given window. More...
 
EAPI void * ecore_win32_window_focus_get (void)
 Get the current focused window. More...
 
EAPI void ecore_win32_window_iconified_set (Ecore_Win32_Window *window, Eina_Bool on)
 Iconify or restore the given window. More...
 
EAPI void ecore_win32_window_borderless_set (Ecore_Win32_Window *window, Eina_Bool on)
 Remove or restore the border of the given window. More...
 
EAPI void ecore_win32_window_fullscreen_set (Ecore_Win32_Window *window, Eina_Bool on)
 Set the given window to fullscreen. More...
 
EAPI void ecore_win32_window_cursor_set (Ecore_Win32_Window *window, Ecore_Win32_Cursor *cursor)
 Set the given cursor to the given window. More...
 
EAPI void ecore_win32_window_state_set (Ecore_Win32_Window *window, Ecore_Win32_Window_State *state, unsigned int num)
 Set the state of the given window. More...
 
EAPI void ecore_win32_window_state_request_send (Ecore_Win32_Window *window, Ecore_Win32_Window_State state, unsigned int set)
 Apply the modification of the state to the given window. More...
 
EAPI void ecore_win32_window_type_set (Ecore_Win32_Window *window, Ecore_Win32_Window_Type type)
 Set the type of the given window. More...
 
EAPI Ecore_Win32_Cursorecore_win32_cursor_new (const void *pixels_and, const void *pixels_xor, int width, int height, int hot_x, int hot_y)
 Create a new cursor. More...
 
EAPI void ecore_win32_cursor_free (Ecore_Win32_Cursor *cursor)
 Free the given cursor. More...
 
EAPI Ecore_Win32_Cursorecore_win32_cursor_shaped_new (Ecore_Win32_Cursor_Shape shape)
 Create a cursor from a Windows ressource. More...
 
EAPI void ecore_win32_cursor_size_get (int *width, int *height)
 Retrieve the size of a valid cursor. More...
 
EAPI int ecore_win32_dnd_init ()
 Initialize the Ecore_Win32 Drag and Drop module. More...
 
EAPI int ecore_win32_dnd_shutdown ()
 Shut down the Ecore_Win32 Drag and Drop module. More...
 
EAPI Eina_Bool ecore_win32_dnd_begin (const char *data, int size)
 Begin a DnD operation. More...
 
EAPI Eina_Bool ecore_win32_dnd_register_drop_target (Ecore_Win32_Window *window, Ecore_Win32_Dnd_DropTarget_Callback callback)
 Register a Drop operation. More...
 
EAPI void ecore_win32_dnd_unregister_drop_target (Ecore_Win32_Window *window)
 Unregister a Drop operation. More...
 

Variables

EAPI int ECORE_WIN32_EVENT_MOUSE_IN
 Ecore_Event for the Ecore_Win32_Event_Mouse_In event.
 
EAPI int ECORE_WIN32_EVENT_MOUSE_OUT
 Ecore_Event for the Ecore_Win32_Event_Mouse_Out event.
 
EAPI int ECORE_WIN32_EVENT_WINDOW_FOCUS_IN
 Ecore_Event for the Ecore_Win32_Event_Window_Focus_In event.
 
EAPI int ECORE_WIN32_EVENT_WINDOW_FOCUS_OUT
 Ecore_Event for the Ecore_Win32_Event_Window_Focus_Out event.
 
EAPI int ECORE_WIN32_EVENT_WINDOW_DAMAGE
 Ecore_Event for the Ecore_Win32_Event_Damage event.
 
EAPI int ECORE_WIN32_EVENT_WINDOW_CREATE
 Ecore_Event for the Ecore_Win32_Event_Create event.
 
EAPI int ECORE_WIN32_EVENT_WINDOW_DESTROY
 Ecore_Event for the Ecore_Win32_Event_Destroy event.
 
EAPI int ECORE_WIN32_EVENT_WINDOW_HIDE
 Ecore_Event for the Ecore_Win32_Event_Hide event.
 
EAPI int ECORE_WIN32_EVENT_WINDOW_SHOW
 Ecore_Event for the Ecore_Win32_Event_Show event.
 
EAPI int ECORE_WIN32_EVENT_WINDOW_CONFIGURE
 Ecore_Event for the Ecore_Win32_Event_Configure event.
 
EAPI int ECORE_WIN32_EVENT_WINDOW_RESIZE
 Ecore_Event for the Ecore_Win32_Event_Resize event.
 
EAPI int ECORE_WIN32_EVENT_WINDOW_DELETE_REQUEST
 Ecore_Event for the Ecore_Win32_Event_Window_Delete_Request event.
 

Detailed Description

Ecore_Win32 is a library that wraps Windows graphic functions and integrate them nicely into the Ecore main loop.

Initialisation / Shutdown

To fill...

How to set icons to an application

It is possible to also sets the icon of the application easily:

  • Create an icon with your favorite image creator. The Gimp is a good choice. Create several images of size 16, 32 and 48. You can also create images of size 24, 64, 128 and 256. Paste all of them in the image of size 16 as a layer. Save the image of size 16 with the name my_icon.ico. Put it where the source code of the application is located.
  • Create my_icon_rc.rc file with your code editor and add in it:
    101 ICON DISCARDABLE "my_icon.ico"
  • With Visual Studio, put that file in the 'Resource file' part of the project.
  • With MinGW, you have to compile it with windres:
    windres my_icon_rc.rc my_icon_rc.o
    and add my_icon_rc.o to the object files of the application.
Note
The value 101 must not be changed, it's the ID used internally by Ecore_Win32 to get the icons.

Typedef Documentation

Ecore_Win32_Dnd_DropTarget_Callback

Callback type for Drop operations.

See ecore_win32_dnd_register_drop_target().

Enumeration Type Documentation

Shape of a cursor.

Enumerator
ECORE_WIN32_CURSOR_SHAPE_APP_STARTING 

Standard arrow and small hourglass.

ECORE_WIN32_CURSOR_SHAPE_ARROW 

Standard arrow.

ECORE_WIN32_CURSOR_SHAPE_CROSS 

Crosshair.

ECORE_WIN32_CURSOR_SHAPE_HAND 

Hand.

ECORE_WIN32_CURSOR_SHAPE_HELP 

Arrow and question mark.

ECORE_WIN32_CURSOR_SHAPE_I_BEAM 

I-beam.

ECORE_WIN32_CURSOR_SHAPE_NO 

Slashed circle.

ECORE_WIN32_CURSOR_SHAPE_SIZE_ALL 

Four-pointed arrow pointing north, south, east, and west.

ECORE_WIN32_CURSOR_SHAPE_SIZE_NESW 

Double-pointed arrow pointing northeast and southwest.

ECORE_WIN32_CURSOR_SHAPE_SIZE_NS 

Double-pointed arrow pointing north and south.

ECORE_WIN32_CURSOR_SHAPE_SIZE_NWSE 

Double-pointed arrow pointing northwest and southeast.

ECORE_WIN32_CURSOR_SHAPE_SIZE_WE 

Double-pointed arrow pointing west and east.

ECORE_WIN32_CURSOR_SHAPE_UP_ARROW 

Vertical arrow.

ECORE_WIN32_CURSOR_SHAPE_WAIT 

Hourglass.

State of a DnD operation.

Enumerator
ECORE_WIN32_DND_EVENT_DRAG_ENTER 

Drag enter.

ECORE_WIN32_DND_EVENT_DRAG_OVER 

Drag over.

ECORE_WIN32_DND_EVENT_DRAG_LEAVE 

Drag leave.

ECORE_WIN32_DND_EVENT_DROP 

Drop.

State of a window.

Enumerator
ECORE_WIN32_WINDOW_STATE_ICONIFIED 

iconified window

ECORE_WIN32_WINDOW_STATE_MODAL 

modal dialog box

ECORE_WIN32_WINDOW_STATE_STICKY 

sticky window

ECORE_WIN32_WINDOW_STATE_MAXIMIZED_VERT 

maximum vertical sized window

ECORE_WIN32_WINDOW_STATE_MAXIMIZED_HORZ 

maximum horizontal sized window

ECORE_WIN32_WINDOW_STATE_MAXIMIZED 

maximum sized window

ECORE_WIN32_WINDOW_STATE_SHADED 

shaded window

ECORE_WIN32_WINDOW_STATE_HIDDEN 

hidden (minimized or iconified) window

ECORE_WIN32_WINDOW_STATE_FULLSCREEN 

fullscreen window

ECORE_WIN32_WINDOW_STATE_ABOVE 

above window

ECORE_WIN32_WINDOW_STATE_BELOW 

below window

ECORE_WIN32_WINDOW_STATE_DEMANDS_ATTENTION 

To document.

ECORE_WIN32_WINDOW_STATE_UNKNOWN 

Unknown state.

Type of a window.

Enumerator
ECORE_WIN32_WINDOW_TYPE_DESKTOP 

Desktop feature.

ECORE_WIN32_WINDOW_TYPE_DOCK 

Dock window (should be on top of other windows)

ECORE_WIN32_WINDOW_TYPE_TOOLBAR 

Toolbar window.

ECORE_WIN32_WINDOW_TYPE_MENU 

Menu window.

ECORE_WIN32_WINDOW_TYPE_UTILITY 

Small persistent utility window, such as a palette or toolbox.

ECORE_WIN32_WINDOW_TYPE_SPLASH 

Splash screen window displayed as an application is starting up.

ECORE_WIN32_WINDOW_TYPE_DIALOG 

Dialog window.

ECORE_WIN32_WINDOW_TYPE_NORMAL 

Normal top-level window.

ECORE_WIN32_WINDOW_TYPE_UNKNOWN 

Unknown type.

Function Documentation

EAPI unsigned long ecore_win32_current_time_get ( void  )

Return the last event time.

Returns
The last envent time.

This function returns the last event time.

EAPI void ecore_win32_cursor_free ( Ecore_Win32_Cursor cursor)

Free the given cursor.

Parameters
cursorThe cursor to free.

This function free cursor. cursor must have been obtained with ecore_win32_cursor_new().

EAPI Ecore_Win32_Cursor * ecore_win32_cursor_new ( const void *  pixels_and,
const void *  pixels_xor,
int  width,
int  height,
int  hot_x,
int  hot_y 
)

Create a new cursor.

Parameters
pixels_andThe array of bytes containing the bit values for the AND mask of the cursor.
pixels_xorThe array of bytes containing the bit values for the XOR mask of the cursor.
widthThe width of the cursor.
heightThe height of the cursor.
hot_xThe horizontal position of the cursor's hot spot.
hot_yThe vertical position of the cursor's hot spot.
Returns
A newly user-defined cursor.

This function creates a new cursor of size width and height. They must be valid size. To determine the valid size of a cursor, use ecore_win32_cursor_size_get(). pixels_and is an array of bytes (unsigned char) containing the bits of the cursor that will be visible. pixels_xor is similar but will allow the cursor to have a shape. Here is the truth table for the masks:

AND maskXOR maskDisplay
0 0 Black
0 1 White
1 0 Screen
1 1 Reverse screen

hot_x and hot_y are the position of the hot spot of the cursor. If pixels_and or pixels_xor are NULL, the function returns NULL. If width or height does not match the valid size of a cursor, the function returns NULL. On success, the function creates a user-defined cursor, otherwise it returns NULL.

Once the cursor is not used anymore, use ecore_win32_cursor_free() to free the ressources.

Example of use:

1 unsigned char pixels_and[] ={
2 0xFF, 0xFC, 0x3F, 0xFF, // line 1
3 0xFF, 0xC0, 0x1F, 0xFF, // line 2
4 0xFF, 0x00, 0x3F, 0xFF, // line 3
5 0xFE, 0x00, 0xFF, 0xFF, // line 4
6 
7 0xF7, 0x01, 0xFF, 0xFF, // line 5
8 0xF0, 0x03, 0xFF, 0xFF, // line 6
9 0xF0, 0x03, 0xFF, 0xFF, // line 7
10 0xE0, 0x07, 0xFF, 0xFF, // line 8
11 
12 0xC0, 0x07, 0xFF, 0xFF, // line 9
13 0xC0, 0x0F, 0xFF, 0xFF, // line 10
14 0x80, 0x0F, 0xFF, 0xFF, // line 11
15 0x80, 0x0F, 0xFF, 0xFF, // line 12
16 
17 0x80, 0x07, 0xFF, 0xFF, // line 13
18 0x00, 0x07, 0xFF, 0xFF, // line 14
19 0x00, 0x03, 0xFF, 0xFF, // line 15
20 0x00, 0x00, 0xFF, 0xFF, // line 16
21 
22 0x00, 0x00, 0x7F, 0xFF, // line 17
23 0x00, 0x00, 0x1F, 0xFF, // line 18
24 0x00, 0x00, 0x0F, 0xFF, // line 19
25 0x80, 0x00, 0x0F, 0xFF, // line 20
26 
27 0x80, 0x00, 0x07, 0xFF, // line 21
28 0x80, 0x00, 0x07, 0xFF, // line 22
29 0xC0, 0x00, 0x07, 0xFF, // line 23
30 0xC0, 0x00, 0x0F, 0xFF, // line 24
31 
32 0xE0, 0x00, 0x0F, 0xFF, // line 25
33 0xF0, 0x00, 0x1F, 0xFF, // line 26
34 0xF0, 0x00, 0x1F, 0xFF, // line 27
35 0xF8, 0x00, 0x3F, 0xFF, // line 28
36 
37 0xFE, 0x00, 0x7F, 0xFF, // line 29
38 0xFF, 0x00, 0xFF, 0xFF, // line 30
39 0xFF, 0xC3, 0xFF, 0xFF, // line 31
40 0xFF, 0xFF, 0xFF, 0xFF // line 32
41 };
42 
43 unsigned char pixels_xor[] = {
44 0x00, 0x00, 0x00, 0x00, // line 1
45 0x00, 0x03, 0xC0, 0x00, // line 2
46 0x00, 0x3F, 0x00, 0x00, // line 3
47 0x00, 0xFE, 0x00, 0x00, // line 4
48 
49 0x0E, 0xFC, 0x00, 0x00, // line 5
50 0x07, 0xF8, 0x00, 0x00, // line 6
51 0x07, 0xF8, 0x00, 0x00, // line 7
52 0x0F, 0xF0, 0x00, 0x00, // line 8
53 
54 0x1F, 0xF0, 0x00, 0x00, // line 9
55 0x1F, 0xE0, 0x00, 0x00, // line 10
56 0x3F, 0xE0, 0x00, 0x00, // line 11
57 0x3F, 0xE0, 0x00, 0x00, // line 12
58 
59 0x3F, 0xF0, 0x00, 0x00, // line 13
60 0x7F, 0xF0, 0x00, 0x00, // line 14
61 0x7F, 0xF8, 0x00, 0x00, // line 15
62 0x7F, 0xFC, 0x00, 0x00, // line 16
63 
64 0x7F, 0xFF, 0x00, 0x00, // line 17
65 0x7F, 0xFF, 0x80, 0x00, // line 18
66 0x7F, 0xFF, 0xE0, 0x00, // line 19
67 0x3F, 0xFF, 0xE0, 0x00, // line 20
68 
69 0x3F, 0xC7, 0xF0, 0x00, // line 21
70 0x3F, 0x83, 0xF0, 0x00, // line 22
71 0x1F, 0x83, 0xF0, 0x00, // line 23
72 0x1F, 0x83, 0xE0, 0x00, // line 24
73 
74 0x0F, 0xC7, 0xE0, 0x00, // line 25
75 0x07, 0xFF, 0xC0, 0x00, // line 26
76 0x07, 0xFF, 0xC0, 0x00, // line 27
77 0x01, 0xFF, 0x80, 0x00, // line 28
78 
79 0x00, 0xFF, 0x00, 0x00, // line 29
80 0x00, 0x3C, 0x00, 0x00, // line 30
81 0x00, 0x00, 0x00, 0x00, // line 31
82 0x00, 0x00, 0x00, 0x00 // line 32
83 };
84 
85 Ecore_Win32_Cursor *cursor = ecore_win32_cursor_new(pixels_and, pixels_xor, 32, 32, 19, 2);
EAPI Ecore_Win32_Cursor * ecore_win32_cursor_shaped_new ( Ecore_Win32_Cursor_Shape  shape)

Create a cursor from a Windows ressource.

Parameters
shapeThe pre-defined shape of the cursor.
Returns
The new cursor.

This function returns a pre-defined cursor with a specified shape. This cursor does not need to be freed, as it is loaded from an existing resource.

References ECORE_WIN32_CURSOR_SHAPE_APP_STARTING, ECORE_WIN32_CURSOR_SHAPE_ARROW, ECORE_WIN32_CURSOR_SHAPE_CROSS, ECORE_WIN32_CURSOR_SHAPE_HAND, ECORE_WIN32_CURSOR_SHAPE_HELP, ECORE_WIN32_CURSOR_SHAPE_I_BEAM, ECORE_WIN32_CURSOR_SHAPE_NO, ECORE_WIN32_CURSOR_SHAPE_SIZE_ALL, ECORE_WIN32_CURSOR_SHAPE_SIZE_NESW, ECORE_WIN32_CURSOR_SHAPE_SIZE_NS, ECORE_WIN32_CURSOR_SHAPE_SIZE_NWSE, ECORE_WIN32_CURSOR_SHAPE_SIZE_WE, ECORE_WIN32_CURSOR_SHAPE_UP_ARROW, and ECORE_WIN32_CURSOR_SHAPE_WAIT.

EAPI void ecore_win32_cursor_size_get ( int *  width,
int *  height 
)

Retrieve the size of a valid cursor.

Parameters
widthThe width of a valid cursor.
heightThe height of a valid cursor.

This function returns the size of a cursor that must be passed to ecore_win32_cursor_new(). width and height are buffers that will be filled with the correct size. They can be NULL.

EAPI Eina_Bool ecore_win32_dnd_begin ( const char *  data,
int  size 
)

Begin a DnD operation.

Parameters
dataThe name pf the Drag operation.
sizeThe size of the name.
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

This function start a Drag operation with the name data. If data is NULL, EINA_FALSE is returned. if size is less than 0, it is set to the length (as strlen()) of data. On success the function returns EINA_TRUE, otherwise it returns EINA_FALSE.

EAPI int ecore_win32_dnd_init ( )

Initialize the Ecore_Win32 Drag and Drop module.

Returns
1 or greater on success, 0 on error.

This function initialize the Drag and Drop module. It returns 0 on failure, otherwise it returns the number of times it has already been called.

When the Drag and Drop module is not used anymore, call ecore_win32_dnd_shutdown() to shut down the module.

Referenced by ecore_win32_init().

EAPI Eina_Bool ecore_win32_dnd_register_drop_target ( Ecore_Win32_Window window,
Ecore_Win32_Dnd_DropTarget_Callback  callback 
)

Register a Drop operation.

Parameters
windowThe destination of the Drop operation.
callbackThe callback called when the Drop operation finishes.
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

This function register a Drop operation on window. Once the Drop operation finishes, callback is called. If window is NULL, the function returns EINA_FALSE. On success, it returns EINA_TRUE, otherwise it returns EINA_FALSE.

EAPI int ecore_win32_dnd_shutdown ( )

Shut down the Ecore_Win32 Drag and Drop module.

Returns
0 when the module is completely shut down, 1 or greater otherwise.

This function shuts down the Drag and Drop module. It returns 0 when it has been called the same number of times than ecore_win32_dnd_init(). In that case it shut down the module.

Referenced by ecore_win32_shutdown().

EAPI void ecore_win32_dnd_unregister_drop_target ( Ecore_Win32_Window window)

Unregister a Drop operation.

Parameters
windowThe destination of the Drop operation.

This function unregister a Drop operation on window. If window is NULL, the function does nothing.

EAPI double ecore_win32_double_click_time_get ( void  )

Retrieve the double and triple click flag timeout.

Returns
The timeout for double clicks in seconds.

This function returns the double clicks in seconds. If ecore_win32_double_click_time_set() has not been called, the default value is returned. See ecore_win32_double_click_time_set() for more informations.

EAPI void ecore_win32_double_click_time_set ( double  t)

Sets the timeout for a double and triple clicks to be flagged.

Parameters
tThe time in seconds.

This function sets the time t between clicks before the double_click flag is set in a button down event. If 3 clicks occur within double this time, the triple_click flag is also set.

EAPI int ecore_win32_init ( )

Initialize the Ecore_Win32 library.

Returns
1 or greater on success, 0 on error.

This function sets up the Windows graphic system. It returns 0 on failure, otherwise it returns the number of times it has already been called.

When Ecore_Win32 is not used anymore, call ecore_win32_shutdown() to shut down the Ecore_Win32 library.

References ecore_event_type_new(), and ecore_win32_dnd_init().

EAPI int ecore_win32_screen_depth_get ( )

Retrieve the depth of the screen.

Returns
The depth of the screen.

This function returns the depth of the screen. If an error occurs, it returns 0.

EAPI int ecore_win32_shutdown ( )

Shut down the Ecore_Win32 library.

Returns
0 when the library is completely shut down, 1 or greater otherwise.

This function shuts down the Ecore_Win32 library. It returns 0 when it has been called the same number of times than ecore_win32_init(). In that case it shuts down all the Windows graphic system.

References ecore_win32_dnd_shutdown().

EAPI void ecore_win32_window_borderless_set ( Ecore_Win32_Window window,
Eina_Bool  on 
)

Remove or restore the border of the given window.

Parameters
windowThe window.
onEINA_TRUE to remove the border, EINA_FALSE to restore it.

This function remove or restore the border of window. If on is set to EINA_TRUE, the window will have no border, if it is set to EINA_FALSE, it will have a border. If window is NULL or if the state does not change (like setting to borderless while the window has no border), this function does nothing.

EAPI void ecore_win32_window_cursor_set ( Ecore_Win32_Window window,
Ecore_Win32_Cursor cursor 
)

Set the given cursor to the given window.

Parameters
windowThe window to modify the cursor.
cursorThe new cursor.

This function sets cursor to window. cursor must have been obtained by ecore_win32_cursor_new() or ecore_win32_cursor_shaped_new(). If window or cursor is NULL, the function does nothing.

EAPI void ecore_win32_window_focus ( Ecore_Win32_Window window)

Set the focus to the given window.

Parameters
windowThe window to give focus to.

This function gives the focus to window. If window is NULL, this function does nothing.

EAPI void * ecore_win32_window_focus_get ( void  )

Get the current focused window.

Returns
The window that has focus.

This function returns the window that has focus. If the calling thread's message queue does not have an associated window with the keyboard focus, the return value is NULL.

Note
Even if the returned value is NULL, another thread's queue may be associated with a window that has the keyboard focus.
The returned value is of type HWND.
EAPI void ecore_win32_window_free ( Ecore_Win32_Window window)

Free the given window.

Parameters
windowThe window to free.

This function frees window. If window is NULL, this function does nothing.

EAPI void ecore_win32_window_fullscreen_set ( Ecore_Win32_Window window,
Eina_Bool  on 
)

Set the given window to fullscreen.

Parameters
windowThe window.
onEINA_TRUE for fullscreen mode, EINA_FALSE for windowed mode.

This function set window to fullscreen or windowed mode. If on is set to EINA_TRUE, the window will be fullscreen, if it is set to EINA_FALSE, it will be windowed. If window is NULL or if the state does not change (like setting to fullscreen while the window is already fullscreen), this function does nothing.

Referenced by ecore_win32_window_state_request_send().

EAPI void ecore_win32_window_geometry_get ( Ecore_Win32_Window window,
int *  x,
int *  y,
int *  width,
int *  height 
)

Get the geometry of the given window.

Parameters
windowThe window to retrieve the geometry from.
xThe x coordinate of the position.
yThe x coordinate of the position.
widthThe width.
heightThe height.

This function retrieves the position and size of window. x, y, width and height can be buffers that will be filled with the corresponding values. If one of them is NULL, nothing will be done for that parameter. If window is NULL, and if the buffers are not NULL, they will be filled with respectively 0, 0, the size of the screen and the height of the screen.

EAPI void ecore_win32_window_hide ( Ecore_Win32_Window window)

Hide the given window.

Parameters
windowThe window to show.

This function hides window. If window is NULL, or on error, this function does nothing.

EAPI void * ecore_win32_window_hwnd_get ( Ecore_Win32_Window window)

Return the window HANDLE associated to the given window.

Parameters
windowThe window to retrieve the HANDLE from.

This function returns the window HANDLE associated to window. If window is NULL, this function returns NULL.

Note
The returned value is of type HWND.
EAPI void ecore_win32_window_iconified_set ( Ecore_Win32_Window window,
Eina_Bool  on 
)

Iconify or restore the given window.

Parameters
windowThe window.
onEINA_TRUE to iconify the window, EINA_FALSE to restore it.

This function iconify or restore window. If on is set to EINA_TRUE, the window will be iconified, if it is set to EINA_FALSE, it will be restored. If window is NULL or if the state does not change (like iconifying the window while it is already iconified), this function does nothing.

Referenced by ecore_win32_window_state_request_send().

EAPI void ecore_win32_window_lower ( Ecore_Win32_Window window)

Place the given window at the bottom of the Z order.

Parameters
windowThe window to place at the bottom.

This function places window at the bottom of the Z order. If window is NULL, this function does nothing.

EAPI void ecore_win32_window_move ( Ecore_Win32_Window window,
int  x,
int  y 
)

Move the given window to a given position.

Parameters
windowThe window to move.
xThe x coordinate of the destination position.
yThe y coordinate of the destination position.

This function move window to the new position of coordinates x and y. If window is NULL, or if it is fullscreen, or on error, this function does nothing.

EAPI void ecore_win32_window_move_resize ( Ecore_Win32_Window window,
int  x,
int  y,
int  width,
int  height 
)

Move and resize the given window to a given position and size.

Parameters
windowThe window to move and resize.
xThe x coordinate of the destination position.
yThe x coordinate of the destination position.
widthThe new width.
heightThe new height.

This function resize window to the new position of coordinates x and y and the new width and height. If window is NULL, or if it is fullscreen, or on error, this function does nothing.

EAPI Ecore_Win32_Window * ecore_win32_window_new ( Ecore_Win32_Window parent,
int  x,
int  y,
int  width,
int  height 
)

Creates a new window.

Parameters
parentThe parent window.
xThe x coordinate of the top-left corner of the window.
yThe y coordinate of the top-left corner of the window.
widthThe width of the window.
heightThe height of hte window.
Returns
A newly allocated window.

This function creates a new window which parent is parent. width and height are the size of the window content (the client part), without the border and title bar. x and y are the system coordinates of the top left cerner of the window (that is, of the title bar). This function returns a newly created window on success, and NULL on failure.

EAPI Ecore_Win32_Window * ecore_win32_window_override_new ( Ecore_Win32_Window parent,
int  x,
int  y,
int  width,
int  height 
)

Creates a new borderless window.

Parameters
parentThe parent window.
xThe x coordinate of the top-left corner of the window.
yThe y coordinate of the top-left corner of the window.
widthThe width of the window.
heightThe height of hte window.
Returns
A newly allocated window.

This function is the same than ecore_win32_window_override_new() but the returned window is borderless.

EAPI void ecore_win32_window_raise ( Ecore_Win32_Window window)

Place the given window at the top of the Z order.

Parameters
windowThe window to place at the top.

This function places window at the top of the Z order. If window is NULL, this function does nothing.

EAPI void ecore_win32_window_resize ( Ecore_Win32_Window window,
int  width,
int  height 
)

Resize the given window to a given size.

Parameters
windowThe window to resize.
widthThe new width.
heightThe new height.

This function resize window to the new width and height. If window is NULL, or if it is fullscreen, or on error, this function does nothing.

EAPI void ecore_win32_window_show ( Ecore_Win32_Window window)

Show the given window.

Parameters
windowThe window to show.

This function shows window. If window is NULL, or on error, this function does nothing.

EAPI void ecore_win32_window_size_base_get ( Ecore_Win32_Window window,
unsigned int *  base_width,
unsigned int *  base_height 
)

Get the base size of the given window.

Parameters
windowThe window.
base_widthThe base width.
base_heightThe bas height.

This function fills the base size of window in the buffers base_width and *p base_height. They both can be NULL. If window is NULL, this functions does nothing.

EAPI void ecore_win32_window_size_base_set ( Ecore_Win32_Window window,
unsigned int  base_width,
unsigned int  base_height 
)

Set the base size of the given window.

Parameters
windowThe window.
base_widthThe base width.
base_heightThe base height.

This function sets the base size of window to base_width and *p base_height. If window is NULL, this functions does nothing.

EAPI void ecore_win32_window_size_get ( Ecore_Win32_Window window,
int *  width,
int *  height 
)

Get the size of the given window.

Parameters
windowThe window to retrieve the size from.
widthThe width.
heightThe height.

This function retrieves the size of window. width and height can be buffers that will be filled with the corresponding values. If one of them is NULL, nothing will be done for that parameter. If window is NULL, and if the buffers are not NULL, they will be filled with respectively the size of the screen and the height of the screen.

EAPI void ecore_win32_window_size_max_get ( Ecore_Win32_Window window,
unsigned int *  max_width,
unsigned int *  max_height 
)

Get the maximum size of the given window.

Parameters
windowThe window.
max_widthThe maximal width.
max_heightThe maximal height.

This function fills the maximum size of window in the buffers max_width and *p max_height. They both can be NULL. If window is NULL, this functions does nothing.

EAPI void ecore_win32_window_size_max_set ( Ecore_Win32_Window window,
unsigned int  max_width,
unsigned int  max_height 
)

Set the maximum size of the given window.

Parameters
windowThe window.
max_widthThe maximal width.
max_heightThe maximal height.

This function sets the maximum size of window to max_width and *p max_height. If window is NULL, this functions does nothing.

EAPI void ecore_win32_window_size_min_get ( Ecore_Win32_Window window,
unsigned int *  min_width,
unsigned int *  min_height 
)

Get the minimum size of the given window.

Parameters
windowThe window.
min_widthThe minimal width.
min_heightThe minimal height.

This function fills the minimum size of window in the buffers min_width and *p min_height. They both can be NULL. If window is NULL, this functions does nothing.

EAPI void ecore_win32_window_size_min_set ( Ecore_Win32_Window window,
unsigned int  min_width,
unsigned int  min_height 
)

Set the minimum size of the given window.

Parameters
windowThe window.
min_widthThe minimal width.
min_heightThe minimal height.

This function sets the minimum size of window to min_width and *p min_height. If window is NULL, this functions does nothing.

EAPI void ecore_win32_window_size_step_get ( Ecore_Win32_Window window,
unsigned int *  step_width,
unsigned int *  step_height 
)

Get the step size of the given window.

Parameters
windowThe window.
step_widthThe step width.
step_heightThe bas height.

This function fills the step size of window in the buffers step_width and *p step_height. They both can be NULL. If window is NULL, this functions does nothing.

EAPI void ecore_win32_window_size_step_set ( Ecore_Win32_Window window,
unsigned int  step_width,
unsigned int  step_height 
)

Set the step size of the given window.

Parameters
windowThe window.
step_widthThe step width.
step_heightThe step height.

This function sets the step size of window to step_width and *p step_height. If window is NULL, this functions does nothing.

EAPI void ecore_win32_window_state_request_send ( Ecore_Win32_Window window,
Ecore_Win32_Window_State  state,
unsigned int  set 
)
EAPI void ecore_win32_window_state_set ( Ecore_Win32_Window window,
Ecore_Win32_Window_State state,
unsigned int  num 
)

Set the state of the given window.

Parameters
windowThe window to modify the state.
stateAn array of the new states.
numThe number of states in the array.

This function set the state of window. state is an array of states of size num. If window or state are NULL, or if num is less or equal than 0, the function does nothing.

References ECORE_WIN32_WINDOW_STATE_ABOVE, ECORE_WIN32_WINDOW_STATE_BELOW, ECORE_WIN32_WINDOW_STATE_DEMANDS_ATTENTION, ECORE_WIN32_WINDOW_STATE_FULLSCREEN, ECORE_WIN32_WINDOW_STATE_HIDDEN, ECORE_WIN32_WINDOW_STATE_ICONIFIED, ECORE_WIN32_WINDOW_STATE_MAXIMIZED, ECORE_WIN32_WINDOW_STATE_MAXIMIZED_HORZ, ECORE_WIN32_WINDOW_STATE_MAXIMIZED_VERT, ECORE_WIN32_WINDOW_STATE_MODAL, ECORE_WIN32_WINDOW_STATE_SHADED, ECORE_WIN32_WINDOW_STATE_STICKY, and ECORE_WIN32_WINDOW_STATE_UNKNOWN.

EAPI void ecore_win32_window_title_set ( Ecore_Win32_Window window,
const char *  title 
)

Set the title of the given window.

Parameters
windowThe window to set the title.
titleThe new title.

This function sets the title of window to title. If window is NULL, or if title is NULL or empty, or on error, this function does nothing.

EAPI void ecore_win32_window_type_set ( Ecore_Win32_Window window,
Ecore_Win32_Window_Type  type 
)

Set the type of the given window.

Parameters
windowThe window to modify the type.
typeThe nwindow types.

This function set the type of window to type. If window is NULL, the function does nothing.

References ECORE_WIN32_WINDOW_TYPE_DESKTOP, ECORE_WIN32_WINDOW_TYPE_DIALOG, ECORE_WIN32_WINDOW_TYPE_DOCK, ECORE_WIN32_WINDOW_TYPE_MENU, ECORE_WIN32_WINDOW_TYPE_NORMAL, ECORE_WIN32_WINDOW_TYPE_SPLASH, ECORE_WIN32_WINDOW_TYPE_TOOLBAR, ECORE_WIN32_WINDOW_TYPE_UNKNOWN, and ECORE_WIN32_WINDOW_TYPE_UTILITY.