fd99e7194c
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10521 a95241bf-73f2-0310-859d-f6bbb57e9c96
103 lines
2.1 KiB
C++
103 lines
2.1 KiB
C++
#ifndef _VIEWAUX_H_
|
|
#define _VIEWAUX_H_
|
|
|
|
#include <BeBuild.h>
|
|
#include <Font.h>
|
|
#include <InterfaceDefs.h>
|
|
#include <Point.h>
|
|
#include <Rect.h>
|
|
#include <Region.h>
|
|
|
|
const static uint32 kDeleteDragger = 'JAHA';
|
|
|
|
struct shape_data {
|
|
uint32 *opList;
|
|
int32 opCount;
|
|
int32 opSize;
|
|
int32 opBlockSize;
|
|
BPoint *ptList;
|
|
int32 ptCount;
|
|
int32 ptSize;
|
|
int32 ptBlockSize;
|
|
};
|
|
|
|
enum {
|
|
B_VIEW_FONT_BIT = 0x00000001,
|
|
B_VIEW_COLORS_BIT = 0x00000002,
|
|
B_VIEW_DRAW_MODE_BIT = 0x00000004,
|
|
B_VIEW_CLIP_REGION_BIT = 0x00000008,
|
|
B_VIEW_LINE_MODES_BIT = 0x00000010,
|
|
B_VIEW_BLENDING_BIT = 0x00000020,
|
|
B_VIEW_SCALE_BIT = 0x00000040,
|
|
B_VIEW_FONT_ALIASING_BIT = 0x00000080,
|
|
B_VIEW_COORD_BIT = 0x00000100,
|
|
B_VIEW_ORIGIN_BIT = 0x00000200,
|
|
B_VIEW_PEN_SIZE_BIT = 0x00000400,
|
|
B_VIEW_PEN_LOC_BIT = 0x00000800,
|
|
|
|
// used for archiving
|
|
B_VIEW_RESIZE_BIT = 0x00001000,
|
|
B_VIEW_FLAGS_BIT = 0x00002000,
|
|
B_VIEW_EVMASK_BIT = 0x00004000
|
|
};
|
|
|
|
|
|
// JB: Is there any reason why this can't be a struct ?
|
|
//struct _view_attr_{
|
|
class ViewAttr
|
|
{
|
|
public:
|
|
ViewAttr(void);
|
|
BFont font;
|
|
uint16 fontFlags;
|
|
|
|
BPoint penPosition;
|
|
float penSize;
|
|
|
|
rgb_color highColor;
|
|
rgb_color lowColor;
|
|
rgb_color viewColor;
|
|
|
|
pattern patt;
|
|
|
|
drawing_mode drawingMode;
|
|
// clipping region for our view
|
|
BRegion clippingRegion;
|
|
// local coordinate system
|
|
BPoint coordSysOrigin;
|
|
// line modes
|
|
join_mode lineJoin;
|
|
cap_mode lineCap;
|
|
float miterLimit;
|
|
// alpha blending
|
|
source_alpha alphaSrcMode;
|
|
alpha_function alphaFncMode;
|
|
// scale
|
|
float scale;
|
|
// font aliasing. Used for printing only!
|
|
bool fontAliasing;
|
|
// flags used for synchronization with app_server
|
|
uint16 flags;
|
|
// flags used for archiving
|
|
uint16 archivingFlags;
|
|
};
|
|
|
|
struct _array_hdr_{
|
|
float startX;
|
|
float startY;
|
|
float endX;
|
|
float endY;
|
|
rgb_color color;
|
|
};
|
|
|
|
struct _array_data_{
|
|
// the max number of points in the array
|
|
uint32 maxCount;
|
|
// the current number of points in the array
|
|
uint32 count;
|
|
// the array of points
|
|
_array_hdr_* array;
|
|
};
|
|
|
|
#endif
|