/* QuickCase:W KNB Version 1.00 */
#include <windows.h>
#include <string.h>
#define IDM_SIMULATION            1000
#define IDM_S_TURBINENDREHMOMENT  1050
#define IDM_S_FAHRWIDERSTAND      1060
#define IDM_S_BREMSKRAFT          1070
#define IDM_S_GESCHWINDIGKEIT     1080

#define IDM_S_EXIT                2000

#define IDS_ERR_REGISTER_CLASS   1
#define IDS_ERR_CREATE_WINDOW    2

#define UD_SETUPTURBINENDREHMOMENT   (WM_USER + 1)
#define UD_SETUPFAHRWIDERSTANDSKRAFT (WM_USER + 2)
#define UD_SETUPBREMSKRAFT           (WM_USER + 3)
#define UD_SETUPGESCHWINDIGKEIT      (WM_USER + 4)

// Timeridentitäten
#define ID_MODELTIMER            1
#define ELAPSEMSECS              110 // Iteration alle 110 Millisekunden

// Tochterfensteridentitäten
#define ID_THECHILD              1

#define NUMCACHEDANAHANDLES      15

typedef enum
{
  NOTHING,
  TURBINENDREHMOMENT,
  FAHRWIDERSTANDSKRAFT,
  BREMSKRAFT,
  GESCHWINDIGKEIT
} TASKTYPE;

TASKTYPE TaskToDo;

// Namen zur Unterscheidung der Analogmeßgerätefenster, jedes Anameter hat seinen eigenen Stammslot im Handle-Vektor
// Dito Scrollbars
enum {
  ANA_GAS = 0,
  ANA_TURBINENDREHZAHL = 1,
  ANA_BREMSPEDALKRAFT = 2,
  ANA_TURBINENDREHMOMENT = 3,
  ANA_SPEED = 4,
  ANA_FAHRWIDERSTAND = 5,
  ANA_BREMSKRAFT = 6,
  ANA_ANTRIEBSKRAFT = 7,
  SCR_GAS = 15,
  SCR_TURBINENDREHZAHL = 16,
  SCR_SPEED = 17,
  SCR_BREMSPEDALKRAFT = 18
};

enum {RAUF,RUNTER,LINKS,RECHTS};

char szString[128];   /* variable to load resource strings         */
char szAppName[20];
char szChildName[20];
HWND hInst;
HWND HWndMain;
HWND HWndChild;


LONG FAR PASCAL WndProc(HWND, WORD, WORD, LONG);
LONG FAR PASCAL ChildWndProc(HWND, WORD, WORD, LONG);
int nCwRegisterClasses(void);
void CwUnRegisterClasses(void);
int IX(double logicDimen);
int IY(double logicDimen);
void PfeilSpitze(HDC hdc,int direction,int x,int y);
void DestroyExistingAnaMeters(void);
void DestroyExistingScrollBars(void);
void ResetInputValues(void);
void Label(HDC hdc,LPSTR str,int x1,int y1,int x2,int y2);
