fix: various errors

This commit is contained in:
☙◦ The Tablet ❀ GamerGirlandCo ◦❧ 2026-01-18 19:39:01 -05:00
parent 4dbe776b84
commit 3549f03fac
Signed by: tablet
GPG Key ID: 924A5F6AF051E87C
4 changed files with 224 additions and 197 deletions

View File

@ -16,7 +16,6 @@ before you include this file in *one* C/C++ file to create the implementation.
#include "app_funcs.h" #include "app_funcs.h"
#include "app_types.h"
@ -601,165 +600,7 @@ details.
// OPENGL CODE - Shared between platform implementations // 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 <stddef.h>
#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 <wajic_gl.h>
#define WA_CORO_IMPLEMENT_NANOSLEEP
#include <wajic_coro.h>
#else
#include <GL/glew.h>
#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 <string.h>
#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, 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 #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 #else
#error Undefined platform. Define APP_WINDOWS, APP_SDL, APP_WASM or APP_NULL. #error Undefined platform. Define APP_WINDOWS, APP_SDL, APP_WASM or APP_NULL.
#endif
#endif /* APP_IMPLEMENTATION */ #endif /* APP_IMPLEMENTATION */

View File

@ -1,14 +1,6 @@
#ifndef APP_FUNCS_H #ifndef APP_FUNCS_H
#define 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" #include "app_types.h"
int app_run( int (*app_proc)( app_t*, void* ), void* user_data, void* memctx, void* logctx, void* fatalctx ); int app_run( int (*app_proc)( app_t*, void* ), void* user_data, void* memctx, void* logctx, void* fatalctx );

187
libs_win32/app_opengl.h Normal file
View File

@ -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 <stddef.h>
#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 <wajic_gl.h>
#define WA_CORO_IMPLEMENT_NANOSLEEP
#include <wajic_coro.h>
#else
#include "SDL_opengl.h"
#include <GL/glew.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 <string.h>
#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

View File

@ -1,15 +1,22 @@
#ifndef APP_TYPES_H #ifndef APP_TYPES_H
#define 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 { typedef enum app_log_level_t {
APP_LOG_LEVEL_INFO, APP_LOG_LEVEL_INFO,
APP_LOG_LEVEL_WARNING, APP_LOG_LEVEL_WARNING,
APP_LOG_LEVEL_ERROR, APP_LOG_LEVEL_ERROR,
} app_log_level_t; } app_log_level_t;
typedef enum app_interpolation_t {
APP_INTERPOLATION_NONE,
APP_INTERPOLATION_LINEAR,
} app_interpolation_t;
typedef enum app_screenmode_t { typedef enum app_screenmode_t {
APP_SCREENMODE_WINDOW, APP_SCREENMODE_WINDOW,
@ -256,6 +263,7 @@ struct app_t {
void *dummy; void *dummy;
}; };
#elif defined(APP_WINDOWS) #elif defined(APP_WINDOWS)
#include <windows.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif // __cplusplus #endif // __cplusplus
@ -438,7 +446,29 @@ struct IDirectSoundNotifyVtbl {
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif // __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 ////// ///// END DSOUND DEFINITIONS //////
struct app_t { struct app_t {