Functions

## Driver Information Interface
[Driver Interface]

Collaboration diagram for Driver Information Interface:

### Functions

IUP_SDK_API void | iupdrvGetFullSize (int *width, int *height)
IUP_SDK_API void | iupdrvGetScreenSize (int *width, int *height)
IUP_SDK_API void | iupdrvAddScreenOffset (int *x, int *y, int add)
IUP_SDK_API int | iupdrvGetScreenDepth (void)
IUP_SDK_API double | iupdrvGetScreenDpi (void)
IUP_SDK_API char * | iupdrvGetSystemVersion (void)
IUP_SDK_API char * | iupdrvGetSystemName (void)
IUP_SDK_API char * | iupdrvGetComputerName (void)
IUP_SDK_API char * | iupdrvGetUserName (void)
IUP_SDK_API void | iupdrvGetKeyState (char *key)
IUP_SDK_API void | iupdrvGetCursorPos (int *x, int *y)
IUP_SDK_API void * | iupdrvGetDisplay (void)
IUP_SDK_API char * | iupdrvLocaleInfo (void)
IUP_SDK_API int | iupdrvGetPreferencePath (char *filename, int use_system)
IUP_SDK_API int | iupdrvSetCurrentDirectory (const char *dir)
IUP_SDK_API char * | iupdrvGetCurrentDirectory (void)

### Detailed Description

  Each driver must export the symbols defined here. But in this case the functions are shared by different drivers in the same system.

  For example, the GTK driver and the Windows driver share the same implementation of these functions when the GTK driver is compiled in Windows. The GTK driver and the Motif driver share the same implementation of these functions when the GTK driver is compiled in UNIX.

  See iup_drvinfo.h

### Function Documentation

IUP_SDK_API void iupdrvGetFullSize | ( | int * | width,
|  | int * | height |
| ) |  |  |

Retrieve the main desktop full size (size of the main monitor).

IUP_SDK_API void iupdrvGetScreenSize | ( | int * | width,
|  | int * | height |
| ) |  |  |

Retrieve the main desktop available size (full size less taskbar/menubar space).

IUP_SDK_API void iupdrvAddScreenOffset | ( | int * | x,
|  | int * | y,
|  | int | add |
| ) |  |  |

Adds the main desktop offset because of a taskbar/menubar positioning. Only useful in Windows. In X-Windows the position of the origin 0,0 is already adjusted to be after the taskbar/menubar.

IUP_SDK_API int iupdrvGetScreenDepth | ( | void |  | ) |

Retrieve the default desktop bits per pixel.

IUP_SDK_API double iupdrvGetScreenDpi | ( | void |  | ) |

Retrieve the default desktop resolution in dpi (dots or pixels per inch).

IUP_SDK_API char* iupdrvGetSystemVersion | ( | void |  | ) |

Returns a string with the system version number.

IUP_SDK_API char* iupdrvGetSystemName | ( | void |  | ) |

Returns a string with the system name.

IUP_SDK_API char* iupdrvGetComputerName | ( | void |  | ) |

Returns a string with the computer name.

IUP_SDK_API char* iupdrvGetUserName | ( | void |  | ) |

Returns a string with the user name.

IUP_SDK_API void iupdrvGetKeyState | ( | char * | key | ) |

Returns the key state for Shift, Ctrl, Alt and sYs, in this order. Left and right keys are considered. Should declare "char key[5]". Values could be space (" ") or "SCAY".

IUP_SDK_API void iupdrvGetCursorPos | ( | int * | x,
|  | int * | y |
| ) |  |  |

Returns the current position of the mouse cursor.

IUP_SDK_API void* iupdrvGetDisplay | ( | void |  | ) |

Returns the driver "Display" in UNIX and NULL in Windows. Must be implemented somewhere else.

IUP_SDK_API char* iupdrvLocaleInfo | ( | void |  | ) |

Returns the current locale name.

IUP_SDK_API int iupdrvGetPreferencePath | ( | char * | filename,
|  | int | use_system |
| ) |  |  |

Returns the path to the preference directory. Path will always have a trailing slash. Return 1 on success, 0 on failure.

IUP_SDK_API int iupdrvSetCurrentDirectory | ( | const char * | dir | ) |

Changes the current directory.

IUP_SDK_API char* iupdrvGetCurrentDirectory | ( | void |  | ) |

Returns the current directory.