Files
oboe/osx/tools/graphtool.h
Celtic Minstrel 7cd4a618b4 - Got rid of the prefix header in favour of directly including it in every file that needs it (though some files still need the include yet apparently work fine; perhaps a clean build would catch that)
- Replaced all occurrences of FillCRect with the new tileImage, to get away from 'ppat' resources.
- Fixed a minor error in the character editor where part of a text string was off the window.
- With the prefix header gone, libticpp.dylib has been removed; TinyXML++ is now compiled right into the program.
- The scenario editor splash screen is now loaded from a file.
- The pc editor title has its transparency problem fixed.
- Added an overload of tileImage that takes a RgnHandle instead of a Rect in order to replace the single occurrence of FillCRgn.
- Removed an unused function in boe.graphics.cpp
- Changed loading of patterns. Instead of loading each pattern individually from a resource, a single file containing all of them is loading. The arrays that formerly contained the actual patterns now contain the source rects of the patterns.
- Fixed the cursor hotspots (the coordinates were reversed)
- Removed the useless flip_pict that was written when I didn't know what I was doing.
- Fixed error in tileImage in which vrep and hrep were switched.
- Added code to tileImage to ensure that the pattern will line up with anything already onscreen, regardless of the rect to fill.
- Two images were altered: pcedtitle.png to fix the transparenct problem, and pixpats.png to add one pattern that had been missed (and also rearrange the smaller patterns a little)

git-svn-id: http://openexile.googlecode.com/svn/trunk@91 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-10 04:01:15 +00:00

82 lines
2.5 KiB
C++

/*
* graphtool.h
* BoE
*
* Created by Celtic Minstrel on 16/04/09.
*
*/
#ifndef GRAPHTOOL_H
#define GRAPHTOOL_H
#include <Carbon/Carbon.h>
#include <string>
#define LINES_IN_TEXT_WIN 11
enum cursor_type {
wand_curs = 0,
eyedropper_curs = 1,
brush_curs = 2,
spray_curs = 3,
eraser_curs = 4,
topleft_curs = 5,
bottomright_curs = 6,
hand_curs = 7,
NW_curs = 8,
N_curs = 9,
NE_curs = 10,
W_curs = 11,
wait_curs = 12,
E_curs = 13,
SW_curs = 14,
S_curs = 15,
SE_curs = 16,
sword_curs = 17,
boot_curs = 18,
drop_curs = 19,
target_curs = 20,
talk_curs = 21,
key_curs = 22,
look_curs = 23,
};
struct m_pic_index_t {
unsigned char i, x, y;
};
typedef unsigned short pic_num_t;
void init_graph_tool(void (*redraw_callback)(),Point* p);
void clean_up_graphtool();
GWorldPtr load_pict(std::string picture_to_get, std::string scen_name = "");
GWorldPtr load_pict(int picture_to_get) __attribute__((deprecated));
GWorldPtr load_bmp(unsigned char *data, unsigned long length);
void set_cursor(cursor_type which_curs);
void restore_cursor();
void rect_draw_some_item (GWorldPtr src_gworld,Rect src_rect,GWorldPtr targ_gworld,Rect targ_rect,
char masked,short main_win);
void char_win_draw_string(WindowPtr dest_window,Rect dest_rect,const char *str,short mode,short line_height,bool main_win);
void char_port_draw_string(GrafPtr dest_window,Rect dest_rect,const char *str,short mode,short line_height,bool main_win);
void win_draw_string(GrafPtr dest_window,Rect dest_rect,Str255 str,short mode,short line_height,bool main_win);
short string_length(const char *str);
//OSStatus flip_pict(OSType domain, OSType type, short id, void *ptr, UInt32 size, bool isNative, void *refcon);
//void draw_terrain();
Rect calc_rect(short i, short j);
Rect get_custom_rect (short which_rect);
short get_custom_rect (short which_rect, Rect& store_rect);
void get_str(Str255 str,short i, short j);
GWorldPtr importPictureFileToGWorld(const FSSpec *fileSpec);
void writeGWorldToPNGFile(GWorldPtr gw, const FSSpec *fileSpec);
void tileImage(Rect area, GWorldPtr img, short mode = srcCopy);
void tileImage(Rect area, GWorldPtr img, Rect srcRect, short mode = srcCopy);
void tileImage(RgnHandle area, GWorldPtr img, short mode = srcCopy);
void tileImage(RgnHandle area, GWorldPtr img, Rect srcRect, short mode = srcCopy);
#ifndef GRAPHTOOL_CPP
extern cursor_type arrow_curs[3][3];
extern cursor_type current_cursor;
extern m_pic_index_t m_pic_index[200];
extern Rect bg[];
extern short geneva_font_num,dungeon_font_num;
#endif
#endif