upiwin/src/config.h

47 lines
2.1 KiB
C

/*
* UPIWIN - Micro Pi Windowing Framework Kernel
* Copyright (C) 2019 Amy Bowersox/Erbosoft Metaverse Design Solutions
*
* 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 2 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.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*-------------------------------------------------------------------------
*/
#ifndef __CONFIG_H_INCLUDED
#define __CONFIG_H_INCLUDED
#include "wintype.h"
typedef void (*PEXITFUNC)(void);
/* global configuration data for UPIWIN */
typedef struct tagGLOBAL_CONFIG {
PCSTR framebuffer_device; /* name of frame buffer device */
PCSTR touchscreen_device; /* name of touchscreen device */
PCSTR python_loc; /* location of the Python3 executable */
UINT32 button_debounce; /* minimum time between button up and next button down (ms) */
UINT32 sys_mq_length; /* length of system message queue */
UINT32 click_time; /* time between button/touch DOWN and UP to be considered a "click" (ms) */
UINT32 click_radius; /* maximum number of pixels a touch can "drift" to be considered a "click" */
PCSTR script_name; /* script name to be run */
INT32 script_arg_count; /* number of arguments to pass to the script */
PPCSTR script_args; /* arguments to pass to the script */
} GLOBAL_CONFIG;
extern GLOBAL_CONFIG Gconfig; /* one global configuration to rule them all */
extern HRESULT Config_setup(int argc, char *argv[]);
extern HRESULT Config_exitfunc(PEXITFUNC pfn);
#endif /* __CONFIG_H_INCLUDED */