home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 17
/
amigaformatcd17.iso
/
-look_here_1st!-
/
handy_tools
/
tinymeter
/
source
/
tinymeter_main
/
tinymeter.h
< prev
next >
Wrap
C/C++ Source or Header
|
1997-02-27
|
9KB
|
260 lines
#include <libraries/SysInfo.h>
#include <clib/all_protos.h>
#include <clib/screennotify_protos.h>
#include <clib/datatypes_protos.h>
#include <clib/locale_protos.h>
#include <clib/wbstart_protos.h>
#include <strings.h>
#define err_nomem 0
#define err_nowin 1
#define err_nopor 2
#define err_noboo 3
#define err_nodev 4
#define err_nosta 5
#define err_nopre 6
#define err_nolis 7
#define idle_none 0
#define idle_executive 1
#define idle_own 2
#define col_label 0
#define col_format 1
#define col_base 2
#define col_current 3
#define col_negative 4
#define col_bright 5
#define col_dark 6
#define col_bg 7
#define bg_none 0
#define bg_file 1
#define bg_snap 2
#define win_normal 0
#define win_fixed 1
#define win_front 1
#define win_back 2
#define bd_none 0
#define bd_simple 1
#define bd_standard 2
#define bd_double 3
#define ind_centered 0
#define ind_left 1
#define ind_right 2
#define typ_none 0
#define typ_all 1
#define typ_chip 2
#define typ_fast 3
#define typ_volume 4
#define typ_idle 5
#define typ_retina 6
#define typ_largest_chip 7
#define typ_largest_fast 8
#define typ_largest_total 9
#define typ_largest_retina 10
#define typ_clock_ 11
#define typ_simplelauncher 12
#define typ_iconlauncher 13
#define typ_gauge 0
#define typ_histmeter 1
#define typ_clock 2
struct tm_gau_set
{
UWORD type;
UWORD gauge_type;
UWORD size_y; /* in 100+x percent of the font size ! */
char font[128];
UWORD font_size;
char label[16];
char format[128];
char expansion[128]; /* used for image type and volume */
UWORD indent;
UWORD sty_3d;
UWORD sty_border;
UWORD sty_bg;
UWORD sty_shadow;
UWORD sty_nogauge;
UWORD sty_noformat;
UWORD sty_nobase;
struct GAU_Color Colors[8];
struct tm_gau_set *next;
};
struct tm_lau_set
{
UWORD type;
UWORD gauge_type;
UWORD size_y; /* in 100+x percent of the font size ! */
char font[128];
UWORD font_size;
char label[16];
char dummy1[128];
char file[128]; /* used for image type and volume */
UWORD indent;
UWORD sty_xen;
UWORD sty_border;
UWORD sty_bg;
UWORD sty_shadow;
UWORD sty_down;
UWORD sty_transparent;
UWORD dummy4;
struct GAU_Color Colors[8];
struct tm_gau_set *next;
};
struct tm_sys_set
{
ULONG set_header;
UWORD set_version;
UWORD x_pos;
UWORD y_pos;
UWORD x_siz;
UWORD colums;
char pub_name[128];
char font_name[40];
UWORD font_size;
UWORD bg_type;
char bg_picture[126];
BYTE lay_falling;
BYTE pri;
struct GAU_Color bg_color;
UWORD vol_refresh;
UWORD mem_refresh;
UWORD start_wait;
UWORD start_usescreennotify;
UWORD win_move;
UWORD win_backfront;
UWORD win_border_x;
UWORD win_border_y;
UWORD win_space_x;
UWORD win_space_y;
UWORD bd_type;
struct GAU_Color bright_color;
struct GAU_Color dark_color;
UWORD Executive;
};
struct PathList
{
BPTR NextPath;
BPTR PathLock;
};
struct tm_data
{
ULONG dummy;
struct tm_gau_set *list;
struct Window *win;
struct Screen *scr;
struct BitMap *bg_bm;
struct TextFont *Font[64];
BOOL on_public;
UWORD executive;
UWORD labelpos;
UWORD gauge_y_size[64];
UWORD gauge_y_pos[64];
UWORD gauge_y_size_falling[64];
UWORD gauge_x_size;
UWORD min_x_size;
UBYTE num_of_gaug;
UBYTE num_of_rows;
ULONG bg_color;
ULONG bright_color;
ULONG dark_color;
Object *dt_object;
struct Gadget *gdg[64];
struct PathList *GlobalPath;
BOOL vmm;
BOOL scrnot;
struct MsgPort *appport;
struct AppWindow *appwin;
};
void DrawDTObject (Object *src, UWORD s_x, UWORD s_y, struct RastPort *dest, UWORD d_x, UWORD d_y, WORD w, WORD h, BOOL really);
void my_Refresh (Class *cl,struct Gadget *o, Msg msg);
ULONG newGauge (Class *cl,struct Gadget *g,struct gpRender *msg,struct GaugeData *inst);
ULONG getGauge (Class *cl,struct Gadget *g,struct gpRender *msg);
void setGauge (Class *cl,struct Gadget *g,struct gpRender *msg);
void disposeGauge (Class *cl,struct Gadget *g,struct gpRender *msg);
ULONG renderGauge (Class *cl,struct Gadget *g,struct gpRender *msg);
ULONG newLauncher (Class *cl,struct Gadget *g,struct gpRender *msg);
ULONG renderLauncher (Class *cl,struct Gadget *g,struct gpRender *msg);
ULONG getLauncher (Class *cl,struct Gadget *g,struct gpRender *msg);
void setLauncher (Class *cl,struct Gadget *g,struct gpRender *msg);
ULONG dispatchGaugeGadget (Class *cl,Object *o, Msg msg);
ULONG dispatchLauncherGadget (Class *cl,Object *o, Msg msg);
Class *initGaugeGadgetClass (void);
Class *initLauncherGadgetClass (void);
ULONG HookEntry (void);
struct TextFont *OpenTopaz (void);
struct Task *init_idle (void);
void free_idle (void);
BOOL freeGaugeGadgetClass (Class *cl);
BOOL freeLauncherGadgetClass (Class *cl);
void my_RectFill (struct RastPort *rp,WORD x,WORD y,WORD width,WORD height);
void my_Blit (struct RastPort *src,WORD topx,WORD topy,struct RastPort *dest,WORD dtopx,WORD dtopy,WORD width,WORD height);
void draw_border_new (struct RastPort *rp,ULONG x,ULONG y,ULONG width,ULONG height,int b_col1,int b_col2 );
struct Window *openWindow (struct tm_sys_set *set,struct tm_data *data, Class *gclass, Class *lclass);
void closeWindow (struct tm_sys_set *set,struct tm_data *data);
void fileBackground (struct tm_sys_set *set,struct tm_data *data);
void new_window_size (struct tm_sys_set *set,struct tm_data *data);
void allocGadgets (struct tm_sys_set *set,struct tm_data *data, Class *gclass, Class *lclass);
void removeGadgets (struct tm_sys_set *set,struct tm_data *data);
void drawBackground (struct tm_sys_set *set,struct tm_data *data);
struct Window *snapBackground (struct tm_sys_set *set,struct tm_data *data);
struct tm_sys_set *handler (struct tm_sys_set *set,struct tm_data *data,struct MsgPort *broker_mp, CxObj *broker, ULONG cxsigflag, Class *gclass, Class *lclass);
int getNum (struct tm_gau_set *list);
BOOL InitWorkbenchPath (struct tm_data *data);
void FreeWorkbenchPath (struct tm_data *data);
void GetPenNew (struct Screen *scr,struct GAU_Color *col,ULONG number, BOOL *PorC, ULONG *Pens);
UWORD obtainPen (struct Screen *src, struct GAU_Color *scr);
void FreePenNew (struct Screen *scr, struct GAU_Color *col,ULONG number, ULONG *Pens);
UWORD calcXPos (UWORD i, struct tm_data *data, struct tm_sys_set *set);
UWORD calcYPos (UWORD i, struct tm_data *data, struct tm_sys_set *set);
void BltT (struct BitMap *src, UWORD s_x, UWORD s_y, struct RastPort *dest, UWORD d_x, UWORD d_y, UWORD w, UWORD h, UBYTE t_col, UBYTE *mask);
int my_strlen (char s[]);
UBYTE long_2_string_with_thousand(ULONG num, char output[], char point, BOOL negative);
BOOL CopyPathList (struct PathList **pla, struct PathList **plc,struct PathList *oldpl);
void FreePathList (struct PathList *pla);
void RunFile (struct lau_entry *entry, struct tm_data *data, struct WBArg *wbarg, ULONG numarg);
__saveds ULONG *pAllocVec (ULONG memSize);
__saveds void pFreeVec (ULONG *memory);
void show (int what);
Object *LoadImage (char *file, struct Screen *scr);
struct GAU_Color *GetGaugePen (WORD pen);
ULONG Retina_AvailMem (ULONG attributes);