Alibek Omarov
7 years ago
1 changed files with 90 additions and 0 deletions
@ -0,0 +1,90 @@
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
mobility_int.h - interface between engine and client for mobile platforms |
||||
Copyright (C) 2015 a1batross |
||||
|
||||
This program is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
This program is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
*/ |
||||
|
||||
#pragma once |
||||
#ifndef MOBILITY_INT_H |
||||
#define MOBILITY_INT_H |
||||
#ifdef __cplusplus |
||||
extern "C" { |
||||
#endif |
||||
|
||||
#define MOBILITY_API_VERSION 2 |
||||
#define MOBILITY_CLIENT_EXPORT "HUD_MobilityInterface" |
||||
|
||||
#define VIBRATE_NORMAL (1U << 0) // just vibrate for given "life"
|
||||
|
||||
#define TOUCH_FL_HIDE (1U << 0) |
||||
#define TOUCH_FL_NOEDIT (1U << 1) |
||||
#define TOUCH_FL_CLIENT (1U << 2) |
||||
#define TOUCH_FL_MP (1U << 3) |
||||
#define TOUCH_FL_SP (1U << 4) |
||||
#define TOUCH_FL_DEF_SHOW (1U << 5) |
||||
#define TOUCH_FL_DEF_HIDE (1U << 6) |
||||
#define TOUCH_FL_DRAW_ADDITIVE (1U << 7) |
||||
#define TOUCH_FL_STROKE (1U << 8) |
||||
#define TOUCH_FL_PRECISION (1U << 9) |
||||
|
||||
typedef struct mobile_engfuncs_s |
||||
{ |
||||
// indicates version of API. Should be equal to MOBILITY_API_VERSION
|
||||
// version changes when existing functions are changes
|
||||
int version; |
||||
|
||||
// vibration control
|
||||
// life -- time to vibrate in ms
|
||||
void (*pfnVibrate)( float life, char flags ); |
||||
|
||||
// enable text input
|
||||
void (*pfnEnableTextInput)( int enable ); |
||||
|
||||
// add temporaty button, edit will be disabled
|
||||
void (*pfnTouchAddClientButton)( const char *name, const char *texture, const char *command, float x1, float y1, float x2, float y2, unsigned char *color, int round, float aspect, int flags ); |
||||
|
||||
// add button to defaults list. Will be loaded on config generation
|
||||
void (*pfnTouchAddDefaultButton)( const char *name, const char *texturefile, const char *command, float x1, float y1, float x2, float y2, unsigned char *color, int round, float aspect, int flags ); |
||||
|
||||
// hide/show buttons by pattern
|
||||
void (*pfnTouchHideButtons)( const char *name, unsigned char hide ); |
||||
|
||||
// remove button with given name
|
||||
void (*pfnTouchRemoveButton)( const char *name ); |
||||
|
||||
// when enabled, only client buttons shown
|
||||
void (*pfnTouchSetClientOnly)( unsigned char state ); |
||||
|
||||
// Clean defaults list
|
||||
void (*pfnTouchResetDefaultButtons)( void ); |
||||
|
||||
// Draw scaled font for client
|
||||
int (*pfnDrawScaledCharacter)( int x, int y, int number, int r, int g, int b, float scale ); |
||||
|
||||
void (*pfnSys_Warn)( const char *format, ... ); |
||||
|
||||
// Get native object for current platform.
|
||||
// Pass NULL to arguments to receive an array of available objects or NULL if nothing
|
||||
void *(*pfnGetNativeObject)( const char *obj ); |
||||
|
||||
void (*pfnSetCustomClientID)( const char *id ); |
||||
// To be continued...
|
||||
} mobile_engfuncs_t; |
||||
|
||||
// function exported from client
|
||||
// returns 0 on no error otherwise error
|
||||
typedef int (*pfnMobilityInterface)( mobile_engfuncs_t *gMobileEngfuncs ); |
||||
|
||||
#ifdef __cplusplus |
||||
} |
||||
#endif |
||||
#endif |
Loading…
Reference in new issue