kopia lustrzana https://github.com/sp9skp/spdxl
263 wiersze
6.4 KiB
C
263 wiersze
6.4 KiB
C
/*
|
|
* dxlAPRS toolchain
|
|
*
|
|
* Copyright (C) Christian Rabler <oe5dxl@oevsv.at>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
|
|
#ifndef maptool_H_
|
|
#define maptool_H_
|
|
#ifndef X2C_H_
|
|
#include "X2C.h"
|
|
#endif
|
|
#ifndef aprspos_H_
|
|
#include "aprspos.h"
|
|
#endif
|
|
#ifndef aprsdecode_H_
|
|
#include "aprsdecode.h"
|
|
#endif
|
|
|
|
/* aprs tracks on osm map by oe5dxl */
|
|
#define maptool_WHITELEVEL 1024
|
|
|
|
#define maptool_TILESIZE 256
|
|
|
|
#define maptool_MAXLAT 1.484
|
|
|
|
#define maptool_MINZOOM 1
|
|
|
|
#define maptool_MAXZOOM 18
|
|
|
|
#define maptool_CHARWIDTH 6
|
|
|
|
#define maptool_MAXCHAR 129
|
|
/* highest font chars */
|
|
|
|
#define maptool_SYMSIZE 16
|
|
|
|
struct maptool_PIX;
|
|
|
|
|
|
struct maptool_PIX {
|
|
uint16_t r;
|
|
uint16_t g;
|
|
uint16_t b;
|
|
};
|
|
|
|
|
|
struct maptool_IMAGELINE {
|
|
struct maptool_PIX * Adr;
|
|
size_t Len0;
|
|
};
|
|
|
|
|
|
struct maptool_IMAGE {
|
|
struct maptool_PIX * Adr;
|
|
size_t Len0;
|
|
size_t Size1;
|
|
size_t Len1;
|
|
};
|
|
|
|
typedef struct maptool_IMAGE * maptool_pIMAGE;
|
|
|
|
struct maptool_PANOWIN;
|
|
|
|
|
|
struct maptool_PANOWIN {
|
|
char isicon;
|
|
char empty;
|
|
char hover;
|
|
char on;
|
|
char flatscreen;
|
|
struct aprspos_POSITION eye;
|
|
struct aprspos_POSITION horizon;
|
|
int32_t eyealt;
|
|
float angle;
|
|
float elevation;
|
|
float yzoom;
|
|
uint32_t actx;
|
|
int32_t hx; /* mouse pos on panwin and fullwin */
|
|
int32_t hy;
|
|
int32_t mx;
|
|
int32_t my;
|
|
int32_t ximg;
|
|
int32_t yimg;
|
|
maptool_pIMAGE image;
|
|
};
|
|
|
|
extern int32_t maptool_xsize;
|
|
|
|
extern int32_t maptool_ysize;
|
|
|
|
extern float maptool_shiftx;
|
|
|
|
extern float maptool_shifty;
|
|
|
|
struct maptool__D0;
|
|
|
|
|
|
struct maptool__D0 {
|
|
struct aprspos_POSITION leftup;
|
|
struct aprspos_POSITION rightdown;
|
|
int32_t tozoom;
|
|
uint32_t retrys;
|
|
uint32_t givups;
|
|
uint32_t mapscnt;
|
|
uint32_t needcnt;
|
|
uint32_t donecnt;
|
|
uint32_t delay;
|
|
uint32_t retrysum;
|
|
int32_t zoom;
|
|
int32_t tx;
|
|
int32_t ty;
|
|
char run;
|
|
};
|
|
|
|
extern struct maptool__D0 maptool_mappack;
|
|
|
|
extern void maptool_Colset(struct aprsdecode_COLTYP *, char);
|
|
|
|
extern void maptool_waypoint(maptool_pIMAGE, float, float, float,
|
|
int32_t, int32_t, int32_t);
|
|
|
|
extern void maptool_vector(maptool_pIMAGE, float, float, float,
|
|
float, int32_t, int32_t, int32_t, uint32_t,
|
|
float);
|
|
|
|
extern void maptool_drawchar(maptool_pIMAGE, char, float, float,
|
|
int32_t *, uint32_t, uint32_t,
|
|
struct aprsdecode_COLTYP, char);
|
|
|
|
extern void maptool_drawstr(maptool_pIMAGE, char [], uint32_t,
|
|
float, float, uint32_t, uint32_t,
|
|
struct aprsdecode_COLTYP, signed char *, uint32_t,
|
|
char, char);
|
|
|
|
extern void maptool_drawstri(maptool_pIMAGE, char [], uint32_t,
|
|
int32_t, int32_t, uint32_t, uint32_t,
|
|
struct aprsdecode_COLTYP, char, char);
|
|
|
|
extern void maptool_drawsym(maptool_pIMAGE, char, char, char,
|
|
float, float, uint32_t);
|
|
|
|
extern void maptool_drawarrow(maptool_pIMAGE, float, float, float,
|
|
float, uint32_t, uint32_t, struct aprsdecode_COLTYP);
|
|
|
|
extern void maptool_shine(maptool_pIMAGE, int32_t);
|
|
|
|
extern void maptool_loadmap(maptool_pIMAGE, int32_t, int32_t, int32_t,
|
|
float, float, float, char *, char *,
|
|
char, char);
|
|
|
|
extern char maptool_IsMapLoaded(void);
|
|
|
|
extern void maptool_addmap(maptool_pIMAGE, maptool_pIMAGE);
|
|
|
|
extern void maptool_mercator(float, float, int32_t, int32_t *,
|
|
int32_t *, float *, float *);
|
|
|
|
extern int32_t maptool_mapxy(struct aprspos_POSITION, float *,
|
|
float *);
|
|
|
|
extern void maptool_xytodeg(float, float, struct aprspos_POSITION *);
|
|
|
|
extern int32_t maptool_saveppm(char [], uint32_t, maptool_pIMAGE,
|
|
int32_t, int32_t);
|
|
|
|
extern void maptool_area(maptool_pIMAGE, int32_t, int32_t, int32_t,
|
|
int32_t, struct aprsdecode_COLTYP, char);
|
|
|
|
extern void maptool_postoloc(char [], uint32_t,
|
|
struct aprspos_POSITION);
|
|
|
|
extern void maptool_loctopos(struct aprspos_POSITION *, char [],
|
|
uint32_t);
|
|
|
|
extern void maptool_shiftmap(int32_t, int32_t, int32_t, float,
|
|
struct aprspos_POSITION *);
|
|
|
|
extern void maptool_center(int32_t, int32_t, float,
|
|
struct aprspos_POSITION, struct aprspos_POSITION *);
|
|
|
|
extern void maptool_limpos(struct aprspos_POSITION *);
|
|
|
|
extern void maptool_makebw(maptool_pIMAGE);
|
|
|
|
extern float maptool_realzoom(int32_t, float);
|
|
|
|
extern void maptool_setmark(maptool_pIMAGE, struct aprspos_POSITION,
|
|
char);
|
|
|
|
extern void maptool_cc(maptool_pIMAGE, uint32_t, uint32_t);
|
|
|
|
extern void maptool_ruler(maptool_pIMAGE);
|
|
|
|
extern void maptool_clr(maptool_pIMAGE);
|
|
|
|
extern void maptool_xytoloc(struct aprspos_POSITION, char [],
|
|
uint32_t);
|
|
|
|
extern void maptool_POIname(struct aprspos_POSITION *, char [],
|
|
uint32_t);
|
|
|
|
extern void maptool_POIfind(struct aprspos_POSITION *, char [],
|
|
uint32_t);
|
|
|
|
extern uint32_t maptool_charwidth0(char);
|
|
|
|
extern char maptool_vistime(uint32_t);
|
|
|
|
extern void maptool_StartMapPackage(struct aprspos_POSITION,
|
|
struct aprspos_POSITION, int32_t, char);
|
|
|
|
extern void maptool_MapPackageJob(char);
|
|
|
|
extern void maptool_loadfont(void);
|
|
|
|
extern void maptool_startmapdelay(void);
|
|
|
|
extern void maptool_pullmap(int32_t, int32_t, char);
|
|
|
|
extern int32_t maptool_geoprofile(maptool_pIMAGE, struct aprspos_POSITION,
|
|
struct aprspos_POSITION, float, char, int32_t,
|
|
int32_t, float *, float *, float *, float *,
|
|
float *);
|
|
|
|
extern float maptool_getsrtm(struct aprspos_POSITION, uint32_t,
|
|
float *);
|
|
|
|
extern void maptool_Radiorange(maptool_pIMAGE, struct aprspos_POSITION,
|
|
int32_t, int32_t, uint32_t, uint32_t, uint32_t,
|
|
char *);
|
|
|
|
extern void maptool_Panorama(maptool_pIMAGE, struct maptool_PANOWIN,
|
|
char *);
|
|
|
|
extern char maptool_SimpleRelief(maptool_pIMAGE);
|
|
|
|
extern void maptool_findpanopos(struct maptool_PANOWIN,
|
|
struct aprspos_POSITION *, float *, int32_t *);
|
|
|
|
extern void maptool_closesrtmfile(void);
|
|
|
|
extern void maptool_rdmountains(char [], uint32_t, char);
|
|
|
|
extern void maptool_drawareasym(maptool_pIMAGE, struct aprspos_POSITION,
|
|
struct aprsdecode_AREASYMB, uint32_t);
|
|
|
|
extern void maptool_drawpoligon(maptool_pIMAGE, struct aprspos_POSITION,
|
|
struct aprsdecode_MULTILINE, char, char, uint32_t);
|
|
|
|
extern void maptool_drawpoliobj(maptool_pIMAGE);
|
|
|
|
extern char maptool_findmultiline(struct aprspos_POSITION,
|
|
struct aprspos_POSITION *);
|
|
|
|
|
|
extern void maptool_BEGIN(void);
|
|
|
|
|
|
#endif /* maptool_H_ */
|