From 3549f03facc3123aec19495696d36130942800cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=98=99=E2=97=A6=20The=20Tablet=20=E2=9D=80=20GamerGirla?= =?UTF-8?q?ndCo=20=E2=97=A6=E2=9D=A7?= Date: Sun, 18 Jan 2026 19:39:01 -0500 Subject: [PATCH] fix: various errors --- libs_win32/app.h | 184 +-------------------------------------- libs_win32/app_funcs.h | 10 +-- libs_win32/app_opengl.h | 187 ++++++++++++++++++++++++++++++++++++++++ libs_win32/app_types.h | 40 +++++++-- 4 files changed, 224 insertions(+), 197 deletions(-) create mode 100644 libs_win32/app_opengl.h diff --git a/libs_win32/app.h b/libs_win32/app.h index ff16ab7..847655f 100644 --- a/libs_win32/app.h +++ b/libs_win32/app.h @@ -16,7 +16,6 @@ before you include this file in *one* C/C++ file to create the implementation. #include "app_funcs.h" -#include "app_types.h" @@ -601,165 +600,7 @@ details. // OPENGL CODE - Shared between platform implementations //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#ifndef APP_NULL -#if defined( APP_WINDOWS ) - - #define _CRT_NONSTDC_NO_DEPRECATE - #ifndef _CRT_SECURE_NO_WARNINGS - #define _CRT_SECURE_NO_WARNINGS - #endif - #include - #define APP_GLCALLTYPE __stdcall - typedef unsigned int APP_GLuint; - typedef int APP_GLsizei; - typedef unsigned int APP_GLenum; - typedef int APP_GLint; - typedef float APP_GLfloat; - typedef char APP_GLchar; - typedef unsigned char APP_GLboolean; - typedef size_t APP_GLsizeiptr; - typedef unsigned int APP_GLbitfield; - - #define APP_GL_FLOAT 0x1406 - #define APP_GL_FALSE 0 - #define APP_GL_FRAGMENT_SHADER 0x8b30 - #define APP_GL_VERTEX_SHADER 0x8b31 - #define APP_GL_COMPILE_STATUS 0x8b81 - #define APP_GL_LINK_STATUS 0x8b82 - #define APP_GL_INFO_LOG_LENGTH 0x8b84 - #define APP_GL_ARRAY_BUFFER 0x8892 - #define APP_GL_TEXTURE_2D 0x0de1 - #define APP_GL_TEXTURE0 0x84c0 - #define APP_GL_CLAMP 0x2900 - #define APP_GL_TEXTURE_WRAP_S 0x2802 - #define APP_GL_TEXTURE_WRAP_T 0x2803 - #define APP_GL_TEXTURE_MIN_FILTER 0x2801 - #define APP_GL_TEXTURE_MAG_FILTER 0x2800 - #define APP_GL_NEAREST 0x2600 - #define APP_GL_LINEAR 0x2601 - #define APP_GL_STATIC_DRAW 0x88e4 - #define APP_GL_RGBA 0x1908 - #define APP_GL_UNSIGNED_BYTE 0x1401 - #define APP_GL_COLOR_BUFFER_BIT 0x00004000 - #define APP_GL_TRIANGLE_FAN 0x0006 - -#elif defined( APP_SDL ) || defined( APP_WASM ) - - #if defined( APP_WASM ) - #include - #define WA_CORO_IMPLEMENT_NANOSLEEP - #include - #else - #include - #include "SDL_opengl.h" - #endif - #define APP_GLCALLTYPE GLAPIENTRY - typedef GLuint APP_GLuint; - typedef GLsizei APP_GLsizei; - typedef GLenum APP_GLenum; - typedef GLint APP_GLint; - typedef GLfloat APP_GLfloat; - typedef GLchar APP_GLchar; - typedef GLboolean APP_GLboolean; - typedef GLsizeiptr APP_GLsizeiptr; - typedef GLbitfield APP_GLbitfield; - - #define APP_GL_FLOAT GL_FLOAT - #define APP_GL_FALSE GL_FALSE - #define APP_GL_FRAGMENT_SHADER GL_FRAGMENT_SHADER - #define APP_GL_VERTEX_SHADER GL_VERTEX_SHADER - #define APP_GL_COMPILE_STATUS GL_COMPILE_STATUS - #define APP_GL_LINK_STATUS GL_LINK_STATUS - #define APP_GL_INFO_LOG_LENGTH GL_INFO_LOG_LENGTH - #define APP_GL_ARRAY_BUFFER GL_ARRAY_BUFFER - #define APP_GL_TEXTURE_2D GL_TEXTURE_2D - #define APP_GL_TEXTURE0 GL_TEXTURE0 - #if defined( APP_WASM ) - #define APP_GL_CLAMP GL_CLAMP_TO_EDGE - #else - #define APP_GL_CLAMP GL_CLAMP - #endif - #define APP_GL_TEXTURE_WRAP_S GL_TEXTURE_WRAP_S - #define APP_GL_TEXTURE_WRAP_T GL_TEXTURE_WRAP_T - #define APP_GL_TEXTURE_MIN_FILTER GL_TEXTURE_MIN_FILTER - #define APP_GL_TEXTURE_MAG_FILTER GL_TEXTURE_MAG_FILTER - #define APP_GL_NEAREST GL_NEAREST - #define APP_GL_LINEAR GL_LINEAR - #define APP_GL_STATIC_DRAW GL_STATIC_DRAW - #define APP_GL_RGBA GL_RGBA - #define APP_GL_UNSIGNED_BYTE GL_UNSIGNED_BYTE - #define APP_GL_COLOR_BUFFER_BIT GL_COLOR_BUFFER_BIT - #define APP_GL_TRIANGLE_FAN GL_TRIANGLE_FAN - -#else - - #error Undefined platform. Define APP_WINDOWS, APP_SDL, APP_WASM or APP_NULL. - #define APP_GLCALLTYPE - typedef int APP_GLuint; - typedef int APP_GLsizei; - typedef int APP_GLenum; - typedef int APP_GLint; - typedef int APP_GLfloat; - typedef int APP_GLchar; - typedef int APP_GLboolean; - typedef int APP_GLsizeiptr; - typedef int APP_GLbitfield; - -#endif - - -#ifdef APP_REPORT_SHADER_ERRORS - #include -#endif - -struct app_internal_opengl_t - { - - APP_GLuint (APP_GLCALLTYPE* CreateShader) (APP_GLenum type); - void (APP_GLCALLTYPE* ShaderSource) (APP_GLuint shader, APP_GLsizei count, APP_GLchar const* const* string, APP_GLint const* length); - void (APP_GLCALLTYPE* CompileShader) (APP_GLuint shader); - void (APP_GLCALLTYPE* GetShaderiv) (APP_GLuint shader, APP_GLenum pname, APP_GLint *params); - APP_GLuint (APP_GLCALLTYPE* CreateProgram) (void); - void (APP_GLCALLTYPE* AttachShader) (APP_GLuint program, APP_GLuint shader); - void (APP_GLCALLTYPE* BindAttribLocation) (APP_GLuint program, APP_GLuint index, APP_GLchar const* name); - void (APP_GLCALLTYPE* LinkProgram) (APP_GLuint program); - void (APP_GLCALLTYPE* GetProgramiv) (APP_GLuint program, APP_GLenum pname, APP_GLint *params); - void (APP_GLCALLTYPE* GenBuffers) (APP_GLsizei n, APP_GLuint *buffers); - void (APP_GLCALLTYPE* BindBuffer) (APP_GLenum target, APP_GLuint buffer); - void (APP_GLCALLTYPE* EnableVertexAttribArray) (APP_GLuint index); - void (APP_GLCALLTYPE* VertexAttribPointer) (APP_GLuint index, APP_GLint size, APP_GLenum type, APP_GLboolean normalized, APP_GLsizei stride, void const* pointer); - void (APP_GLCALLTYPE* GenTextures) (APP_GLsizei n, APP_GLuint* textures); - void (APP_GLCALLTYPE* Enable) (APP_GLenum cap); - void (APP_GLCALLTYPE* ActiveTexture) (APP_GLenum texture); - void (APP_GLCALLTYPE* BindTexture) (APP_GLenum target, APP_GLuint texture); - void (APP_GLCALLTYPE* TexParameteri) (APP_GLenum target, APP_GLenum pname, APP_GLint param); - void (APP_GLCALLTYPE* DeleteBuffers) (APP_GLsizei n, APP_GLuint const* buffers); - void (APP_GLCALLTYPE* DeleteTextures) (APP_GLsizei n, APP_GLuint const* textures); - void (APP_GLCALLTYPE* BufferData) (APP_GLenum target, APP_GLsizeiptr size, void const *data, APP_GLenum usage); - void (APP_GLCALLTYPE* UseProgram) (APP_GLuint program); - void (APP_GLCALLTYPE* Uniform1i) (APP_GLint location, APP_GLint v0); - void (APP_GLCALLTYPE* Uniform3f) (APP_GLint location, APP_GLfloat v0, APP_GLfloat v1, APP_GLfloat v2); - APP_GLint (APP_GLCALLTYPE* GetUniformLocation) (APP_GLuint program, APP_GLchar const* name); - void (APP_GLCALLTYPE* TexImage2D) (APP_GLenum target, APP_GLint level, APP_GLint internalformat, APP_GLsizei width, APP_GLsizei height, APP_GLint border, APP_GLenum format, APP_GLenum type, void const* pixels); - void (APP_GLCALLTYPE* ClearColor) (APP_GLfloat red, APP_GLfloat green, APP_GLfloat blue, APP_GLfloat alpha); - void (APP_GLCALLTYPE* Clear) (APP_GLbitfield mask); - void (APP_GLCALLTYPE* DrawArrays) (APP_GLenum mode, APP_GLint first, APP_GLsizei count); - void (APP_GLCALLTYPE* Viewport) (APP_GLint x, APP_GLint y, APP_GLsizei width, APP_GLsizei height); - void (APP_GLCALLTYPE* DeleteShader) (APP_GLuint shader); - void (APP_GLCALLTYPE* DeleteProgram) (APP_GLuint program); - #ifdef APP_REPORT_SHADER_ERRORS - void (APP_GLCALLTYPE* GetShaderInfoLog) (APP_GLuint shader, APP_GLsizei bufSize, APP_GLsizei *length, APP_GLchar *infoLog); - #endif - - app_interpolation_t interpolation; - int window_width; - int window_height; - - APP_GLuint vertexbuffer; - APP_GLuint texture; - APP_GLuint shader; - }; static int app_internal_opengl_init( app_t* app, struct app_internal_opengl_t* gl, app_interpolation_t interpolation, @@ -1144,29 +985,7 @@ void app_coordinates_bitmap_to_window( app_t* app, int width, int height, int* x #endif -typedef struct APP_LOGCONTEXTA - { - char lcName[ 40 ]; UINT lcOptions; UINT lcStatus; UINT lcLocks; UINT lcMsgBase; UINT lcDevice; UINT lcPktRate; - DWORD lcPktData; DWORD lcPktMode; DWORD lcMoveMask; DWORD lcBtnDnMask; DWORD lcBtnUpMask; LONG lcInOrgX; - LONG lcInOrgY; LONG lcInOrgZ; LONG lcInExtX; LONG lcInExtY; LONG lcInExtZ; LONG lcOutOrgX; LONG lcOutOrgY; - LONG lcOutOrgZ; LONG lcOutExtX; LONG lcOutExtY; LONG lcOutExtZ; DWORD lcSensX; DWORD lcSensY; DWORD lcSensZ; - BOOL lcSysMode; int lcSysOrgX; int lcSysOrgY; int lcSysExtX; int lcSysExtY; DWORD lcSysSensX; DWORD lcSysSensY; - } APP_LOGCONTEXTA; -typedef struct APP_AXIS { LONG axMin; LONG axMax; UINT axUnits; DWORD axResolution; } APP_AXIS; -typedef struct APP_PACKET { DWORD pkButtons; LONG pkX; LONG pkY; UINT pkNormalPressure; } APP_PACKET; -DECLARE_HANDLE( APP_HMGR ); -DECLARE_HANDLE( APP_HCTX ); -#define APP_WTI_DEVICES 100 -#define APP_WTI_DDCTXS 400 /* 1.1 */ -#define APP_CXO_MESSAGES 0x0004 -#define APP_DVC_NPRESSURE 15 -#define APP_PK_BUTTONS 0x0040 // button information -#define APP_PK_X 0x0080 // x axis -#define APP_PK_Y 0x0100 // y axis -#define APP_PK_NORMAL_PRESSURE 0x0400 // normal or tip pressure -#define APP_PACKETDATA APP_PK_X | APP_PK_Y | APP_PK_BUTTONS | APP_PK_NORMAL_PRESSURE -#define APP_PACKETMODE 0 -#define APP_WT_PACKET 0x7FF0 + @@ -4357,7 +4176,6 @@ void app_coordinates_bitmap_to_window( app_t* app, int width, int height, int* x #else #error Undefined platform. Define APP_WINDOWS, APP_SDL, APP_WASM or APP_NULL. -#endif #endif /* APP_IMPLEMENTATION */ diff --git a/libs_win32/app_funcs.h b/libs_win32/app_funcs.h index 326b9db..9df3a77 100644 --- a/libs_win32/app_funcs.h +++ b/libs_win32/app_funcs.h @@ -1,14 +1,6 @@ #ifndef APP_FUNCS_H #define APP_FUNCS_H -#ifndef APP_S16 - #define APP_S16 short -#endif -#ifndef APP_U32 - #define APP_U32 unsigned int -#endif -#ifndef APP_U64 - #define APP_U64 unsigned long long -#endif + #include "app_types.h" int app_run( int (*app_proc)( app_t*, void* ), void* user_data, void* memctx, void* logctx, void* fatalctx ); diff --git a/libs_win32/app_opengl.h b/libs_win32/app_opengl.h new file mode 100644 index 0000000..d868076 --- /dev/null +++ b/libs_win32/app_opengl.h @@ -0,0 +1,187 @@ +#ifndef APP_OPENGL_H +#define APP_OPENGL_H +typedef enum app_interpolation_t { + APP_INTERPOLATION_NONE, + APP_INTERPOLATION_LINEAR, +} app_interpolation_t; +#ifndef APP_NULL +#if defined(APP_WINDOWS) + +#define _CRT_NONSTDC_NO_DEPRECATE +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif +#include +#define APP_GLCALLTYPE __stdcall +typedef unsigned int APP_GLuint; +typedef int APP_GLsizei; +typedef unsigned int APP_GLenum; +typedef int APP_GLint; +typedef float APP_GLfloat; +typedef char APP_GLchar; +typedef unsigned char APP_GLboolean; +typedef size_t APP_GLsizeiptr; +typedef unsigned int APP_GLbitfield; + +#define APP_GL_FLOAT 0x1406 +#define APP_GL_FALSE 0 +#define APP_GL_FRAGMENT_SHADER 0x8b30 +#define APP_GL_VERTEX_SHADER 0x8b31 +#define APP_GL_COMPILE_STATUS 0x8b81 +#define APP_GL_LINK_STATUS 0x8b82 +#define APP_GL_INFO_LOG_LENGTH 0x8b84 +#define APP_GL_ARRAY_BUFFER 0x8892 +#define APP_GL_TEXTURE_2D 0x0de1 +#define APP_GL_TEXTURE0 0x84c0 +#define APP_GL_CLAMP 0x2900 +#define APP_GL_TEXTURE_WRAP_S 0x2802 +#define APP_GL_TEXTURE_WRAP_T 0x2803 +#define APP_GL_TEXTURE_MIN_FILTER 0x2801 +#define APP_GL_TEXTURE_MAG_FILTER 0x2800 +#define APP_GL_NEAREST 0x2600 +#define APP_GL_LINEAR 0x2601 +#define APP_GL_STATIC_DRAW 0x88e4 +#define APP_GL_RGBA 0x1908 +#define APP_GL_UNSIGNED_BYTE 0x1401 +#define APP_GL_COLOR_BUFFER_BIT 0x00004000 +#define APP_GL_TRIANGLE_FAN 0x0006 + +#elif defined(APP_SDL) || defined(APP_WASM) + +#if defined(APP_WASM) +#include +#define WA_CORO_IMPLEMENT_NANOSLEEP +#include +#else +#include "SDL_opengl.h" +#include +#endif +#define APP_GLCALLTYPE GLAPIENTRY +typedef GLuint APP_GLuint; +typedef GLsizei APP_GLsizei; +typedef GLenum APP_GLenum; +typedef GLint APP_GLint; +typedef GLfloat APP_GLfloat; +typedef GLchar APP_GLchar; +typedef GLboolean APP_GLboolean; +typedef GLsizeiptr APP_GLsizeiptr; +typedef GLbitfield APP_GLbitfield; + +#define APP_GL_FLOAT GL_FLOAT +#define APP_GL_FALSE GL_FALSE +#define APP_GL_FRAGMENT_SHADER GL_FRAGMENT_SHADER +#define APP_GL_VERTEX_SHADER GL_VERTEX_SHADER +#define APP_GL_COMPILE_STATUS GL_COMPILE_STATUS +#define APP_GL_LINK_STATUS GL_LINK_STATUS +#define APP_GL_INFO_LOG_LENGTH GL_INFO_LOG_LENGTH +#define APP_GL_ARRAY_BUFFER GL_ARRAY_BUFFER +#define APP_GL_TEXTURE_2D GL_TEXTURE_2D +#define APP_GL_TEXTURE0 GL_TEXTURE0 +#if defined(APP_WASM) +#define APP_GL_CLAMP GL_CLAMP_TO_EDGE +#else +#define APP_GL_CLAMP GL_CLAMP +#endif +#define APP_GL_TEXTURE_WRAP_S GL_TEXTURE_WRAP_S +#define APP_GL_TEXTURE_WRAP_T GL_TEXTURE_WRAP_T +#define APP_GL_TEXTURE_MIN_FILTER GL_TEXTURE_MIN_FILTER +#define APP_GL_TEXTURE_MAG_FILTER GL_TEXTURE_MAG_FILTER +#define APP_GL_NEAREST GL_NEAREST +#define APP_GL_LINEAR GL_LINEAR +#define APP_GL_STATIC_DRAW GL_STATIC_DRAW +#define APP_GL_RGBA GL_RGBA +#define APP_GL_UNSIGNED_BYTE GL_UNSIGNED_BYTE +#define APP_GL_COLOR_BUFFER_BIT GL_COLOR_BUFFER_BIT +#define APP_GL_TRIANGLE_FAN GL_TRIANGLE_FAN + +#else + +#error Undefined platform. Define APP_WINDOWS, APP_SDL, APP_WASM or APP_NULL. +#define APP_GLCALLTYPE +typedef int APP_GLuint; +typedef int APP_GLsizei; +typedef int APP_GLenum; +typedef int APP_GLint; +typedef int APP_GLfloat; +typedef int APP_GLchar; +typedef int APP_GLboolean; +typedef int APP_GLsizeiptr; +typedef int APP_GLbitfield; + +#endif + +#ifdef APP_REPORT_SHADER_ERRORS +#include +#endif + +struct app_internal_opengl_t { + + APP_GLuint(APP_GLCALLTYPE *CreateShader)(APP_GLenum type); + void(APP_GLCALLTYPE *ShaderSource)(APP_GLuint shader, APP_GLsizei count, + APP_GLchar const *const *string, + APP_GLint const *length); + void(APP_GLCALLTYPE *CompileShader)(APP_GLuint shader); + void(APP_GLCALLTYPE *GetShaderiv)(APP_GLuint shader, APP_GLenum pname, + APP_GLint *params); + APP_GLuint(APP_GLCALLTYPE *CreateProgram)(void); + void(APP_GLCALLTYPE *AttachShader)(APP_GLuint program, APP_GLuint shader); + void(APP_GLCALLTYPE *BindAttribLocation)(APP_GLuint program, APP_GLuint index, + APP_GLchar const *name); + void(APP_GLCALLTYPE *LinkProgram)(APP_GLuint program); + void(APP_GLCALLTYPE *GetProgramiv)(APP_GLuint program, APP_GLenum pname, + APP_GLint *params); + void(APP_GLCALLTYPE *GenBuffers)(APP_GLsizei n, APP_GLuint *buffers); + void(APP_GLCALLTYPE *BindBuffer)(APP_GLenum target, APP_GLuint buffer); + void(APP_GLCALLTYPE *EnableVertexAttribArray)(APP_GLuint index); + void(APP_GLCALLTYPE *VertexAttribPointer)(APP_GLuint index, APP_GLint size, + APP_GLenum type, + APP_GLboolean normalized, + APP_GLsizei stride, + void const *pointer); + void(APP_GLCALLTYPE *GenTextures)(APP_GLsizei n, APP_GLuint *textures); + void(APP_GLCALLTYPE *Enable)(APP_GLenum cap); + void(APP_GLCALLTYPE *ActiveTexture)(APP_GLenum texture); + void(APP_GLCALLTYPE *BindTexture)(APP_GLenum target, APP_GLuint texture); + void(APP_GLCALLTYPE *TexParameteri)(APP_GLenum target, APP_GLenum pname, + APP_GLint param); + void(APP_GLCALLTYPE *DeleteBuffers)(APP_GLsizei n, APP_GLuint const *buffers); + void(APP_GLCALLTYPE *DeleteTextures)(APP_GLsizei n, + APP_GLuint const *textures); + void(APP_GLCALLTYPE *BufferData)(APP_GLenum target, APP_GLsizeiptr size, + void const *data, APP_GLenum usage); + void(APP_GLCALLTYPE *UseProgram)(APP_GLuint program); + void(APP_GLCALLTYPE *Uniform1i)(APP_GLint location, APP_GLint v0); + void(APP_GLCALLTYPE *Uniform3f)(APP_GLint location, APP_GLfloat v0, + APP_GLfloat v1, APP_GLfloat v2); + APP_GLint(APP_GLCALLTYPE *GetUniformLocation)(APP_GLuint program, + APP_GLchar const *name); + void(APP_GLCALLTYPE *TexImage2D)(APP_GLenum target, APP_GLint level, + APP_GLint internalformat, APP_GLsizei width, + APP_GLsizei height, APP_GLint border, + APP_GLenum format, APP_GLenum type, + void const *pixels); + void(APP_GLCALLTYPE *ClearColor)(APP_GLfloat red, APP_GLfloat green, + APP_GLfloat blue, APP_GLfloat alpha); + void(APP_GLCALLTYPE *Clear)(APP_GLbitfield mask); + void(APP_GLCALLTYPE *DrawArrays)(APP_GLenum mode, APP_GLint first, + APP_GLsizei count); + void(APP_GLCALLTYPE *Viewport)(APP_GLint x, APP_GLint y, APP_GLsizei width, + APP_GLsizei height); + void(APP_GLCALLTYPE *DeleteShader)(APP_GLuint shader); + void(APP_GLCALLTYPE *DeleteProgram)(APP_GLuint program); +#ifdef APP_REPORT_SHADER_ERRORS + void(APP_GLCALLTYPE *GetShaderInfoLog)(APP_GLuint shader, APP_GLsizei bufSize, + APP_GLsizei *length, + APP_GLchar *infoLog); +#endif + + app_interpolation_t interpolation; + int window_width; + int window_height; + + APP_GLuint vertexbuffer; + APP_GLuint texture; + APP_GLuint shader; +}; +#endif +#endif \ No newline at end of file diff --git a/libs_win32/app_types.h b/libs_win32/app_types.h index 3a6245f..dd0d56f 100644 --- a/libs_win32/app_types.h +++ b/libs_win32/app_types.h @@ -1,15 +1,22 @@ #ifndef APP_TYPES_H #define APP_TYPES_H +#ifndef APP_S16 + #define APP_S16 short +#endif +#ifndef APP_U32 + #define APP_U32 unsigned int +#endif +#ifndef APP_U64 + #define APP_U64 unsigned long long +#endif +#include "app_opengl.h" typedef enum app_log_level_t { APP_LOG_LEVEL_INFO, APP_LOG_LEVEL_WARNING, APP_LOG_LEVEL_ERROR, } app_log_level_t; -typedef enum app_interpolation_t { - APP_INTERPOLATION_NONE, - APP_INTERPOLATION_LINEAR, -} app_interpolation_t; + typedef enum app_screenmode_t { APP_SCREENMODE_WINDOW, @@ -256,6 +263,7 @@ struct app_t { void *dummy; }; #elif defined(APP_WINDOWS) +#include #ifdef __cplusplus extern "C" { #endif // __cplusplus @@ -438,7 +446,29 @@ struct IDirectSoundNotifyVtbl { #ifdef __cplusplus }; #endif // __cplusplus - +typedef struct APP_LOGCONTEXTA + { + char lcName[ 40 ]; UINT lcOptions; UINT lcStatus; UINT lcLocks; UINT lcMsgBase; UINT lcDevice; UINT lcPktRate; + DWORD lcPktData; DWORD lcPktMode; DWORD lcMoveMask; DWORD lcBtnDnMask; DWORD lcBtnUpMask; LONG lcInOrgX; + LONG lcInOrgY; LONG lcInOrgZ; LONG lcInExtX; LONG lcInExtY; LONG lcInExtZ; LONG lcOutOrgX; LONG lcOutOrgY; + LONG lcOutOrgZ; LONG lcOutExtX; LONG lcOutExtY; LONG lcOutExtZ; DWORD lcSensX; DWORD lcSensY; DWORD lcSensZ; + BOOL lcSysMode; int lcSysOrgX; int lcSysOrgY; int lcSysExtX; int lcSysExtY; DWORD lcSysSensX; DWORD lcSysSensY; + } APP_LOGCONTEXTA; +typedef struct APP_AXIS { LONG axMin; LONG axMax; UINT axUnits; DWORD axResolution; } APP_AXIS; +typedef struct APP_PACKET { DWORD pkButtons; LONG pkX; LONG pkY; UINT pkNormalPressure; } APP_PACKET; +DECLARE_HANDLE( APP_HMGR ); +DECLARE_HANDLE( APP_HCTX ); +#define APP_WTI_DEVICES 100 +#define APP_WTI_DDCTXS 400 /* 1.1 */ +#define APP_CXO_MESSAGES 0x0004 +#define APP_DVC_NPRESSURE 15 +#define APP_PK_BUTTONS 0x0040 // button information +#define APP_PK_X 0x0080 // x axis +#define APP_PK_Y 0x0100 // y axis +#define APP_PK_NORMAL_PRESSURE 0x0400 // normal or tip pressure +#define APP_PACKETDATA APP_PK_X | APP_PK_Y | APP_PK_BUTTONS | APP_PK_NORMAL_PRESSURE +#define APP_PACKETMODE 0 +#define APP_WT_PACKET 0x7FF0 ///// END DSOUND DEFINITIONS ////// struct app_t {