some header files to be R5 compatible
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1617 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
16fe4511e7
commit
d734a8ce5a
249
headers/os/add-ons/graphics/Accelerant.h
Normal file
249
headers/os/add-ons/graphics/Accelerant.h
Normal file
@ -0,0 +1,249 @@
|
||||
#if !defined(_ACCELERANT_H_)
|
||||
#define _ACCELERANT_H_
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <SupportDefs.h>
|
||||
#include <GraphicsDefs.h>
|
||||
#include <OS.h>
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define B_ACCELERANT_ENTRY_POINT "get_accelerant_hook"
|
||||
#define B_ACCELERANT_VERSION 1
|
||||
|
||||
typedef void * (*GetAccelerantHook)(uint32, void *);
|
||||
|
||||
_EXPORT void * get_accelerant_hook(uint32 feature, void *data);
|
||||
|
||||
enum {
|
||||
/* initialization */
|
||||
B_INIT_ACCELERANT = 0, /* required */
|
||||
B_ACCELERANT_CLONE_INFO_SIZE, /* required */
|
||||
B_GET_ACCELERANT_CLONE_INFO, /* required */
|
||||
B_CLONE_ACCELERANT, /* required */
|
||||
B_UNINIT_ACCELERANT, /* required */
|
||||
B_GET_ACCELERANT_DEVICE_INFO, /* required */
|
||||
B_ACCELERANT_RETRACE_SEMAPHORE, /* optional */
|
||||
|
||||
/* mode configuration */
|
||||
B_ACCELERANT_MODE_COUNT = 0x100, /* required */
|
||||
B_GET_MODE_LIST, /* required */
|
||||
B_PROPOSE_DISPLAY_MODE, /* optional */
|
||||
B_SET_DISPLAY_MODE, /* required */
|
||||
B_GET_DISPLAY_MODE, /* required */
|
||||
B_GET_FRAME_BUFFER_CONFIG, /* required */
|
||||
B_GET_PIXEL_CLOCK_LIMITS, /* required */
|
||||
B_GET_TIMING_CONSTRAINTS, /* optional */
|
||||
B_MOVE_DISPLAY, /* optional */
|
||||
B_SET_INDEXED_COLORS, /* required if driver supports 8bit indexed modes */
|
||||
B_DPMS_CAPABILITIES, /* required if driver supports DPMS */
|
||||
B_DPMS_MODE, /* required if driver supports DPMS */
|
||||
B_SET_DPMS_MODE, /* required if driver supports DPMS */
|
||||
|
||||
/* cursor managment */
|
||||
B_MOVE_CURSOR = 0x200, /* optional */
|
||||
B_SET_CURSOR_SHAPE, /* optional */
|
||||
B_SHOW_CURSOR, /* optional */
|
||||
|
||||
/* synchronization */
|
||||
B_ACCELERANT_ENGINE_COUNT = 0x300, /* required */
|
||||
B_ACQUIRE_ENGINE, /* required */
|
||||
B_RELEASE_ENGINE, /* required */
|
||||
B_WAIT_ENGINE_IDLE, /* required */
|
||||
B_GET_SYNC_TOKEN, /* required */
|
||||
B_SYNC_TO_TOKEN, /* required */
|
||||
|
||||
/* 2D acceleration */
|
||||
B_SCREEN_TO_SCREEN_BLIT = 0x400, /* optional */
|
||||
B_FILL_RECTANGLE, /* optional */
|
||||
B_INVERT_RECTANGLE, /* optional */
|
||||
B_FILL_SPAN, /* optional */
|
||||
B_SCREEN_TO_SCREEN_TRANSPARENT_BLIT, /* optional */
|
||||
B_SCREEN_TO_SCREEN_SCALED_FILTERED_BLIT, /* optional. NOTE: source and dest may NOT overlap */
|
||||
|
||||
/* 3D acceleration */
|
||||
B_ACCELERANT_PRIVATE_START = (int)0x80000000
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
uint32 version; /* structure version number */
|
||||
char name[32]; /* a name the user will recognize the device by */
|
||||
char chipset[32]; /* the chipset used by the device */
|
||||
char serial_no[32]; /* serial number for the device */
|
||||
uint32 memory; /* amount of memory on the device, in bytes */
|
||||
uint32 dac_speed; /* nominal DAC speed, in MHz */
|
||||
} accelerant_device_info;
|
||||
|
||||
typedef struct {
|
||||
uint32 pixel_clock; /* kHz */
|
||||
uint16 h_display; /* in pixels (not character clocks) */
|
||||
uint16 h_sync_start;
|
||||
uint16 h_sync_end;
|
||||
uint16 h_total;
|
||||
uint16 v_display; /* in lines */
|
||||
uint16 v_sync_start;
|
||||
uint16 v_sync_end;
|
||||
uint16 v_total;
|
||||
uint32 flags; /* sync polarity, etc. */
|
||||
} display_timing;
|
||||
|
||||
typedef struct {
|
||||
display_timing timing; /* CTRC info */
|
||||
uint32 space; /* pixel configuration */
|
||||
uint16 virtual_width; /* in pixels */
|
||||
uint16 virtual_height; /* in lines */
|
||||
uint16 h_display_start; /* first displayed pixel in line */
|
||||
uint16 v_display_start; /* first displayed line */
|
||||
uint32 flags; /* mode flags */
|
||||
} display_mode;
|
||||
|
||||
typedef struct {
|
||||
void *frame_buffer; /* pointer to first byte of frame buffer in virtual memory */
|
||||
void *frame_buffer_dma; /* pointer to first byte of frame buffer in physical memory for DMA */
|
||||
uint32 bytes_per_row; /* number of bytes in one virtual_width line */
|
||||
/* not neccesarily the same as virtual_width * byte_per_pixel */
|
||||
} frame_buffer_config;
|
||||
|
||||
typedef struct {
|
||||
uint16 h_res; /* minimum effective change in horizontal pixels, usually 8 */
|
||||
uint16 h_sync_min; /* min/max horizontal sync pulse width in pixels, a multiple of h_res */
|
||||
uint16 h_sync_max;
|
||||
uint16 h_blank_min; /* min/max horizontal blank pulse width in pixels, a multiple of h_res */
|
||||
uint16 h_blank_max;
|
||||
uint16 v_res; /* minimum effective change in vertical lines, usually 1 */
|
||||
uint16 v_sync_min; /* min/max vertical sync pulse width in lines, a multiple of v_res */
|
||||
uint16 v_sync_max;
|
||||
uint16 v_blank_min; /* min/max vertical blank pulse width in linex, a multiple of v_res */
|
||||
uint16 v_blank_max;
|
||||
} display_timing_constraints;
|
||||
|
||||
enum { /* mode flags */
|
||||
B_SCROLL = 1 << 0,
|
||||
B_8_BIT_DAC = 1 << 1,
|
||||
B_HARDWARE_CURSOR = 1 << 2,
|
||||
B_PARALLEL_ACCESS = 1 << 3,
|
||||
B_DPMS = 1 << 4,
|
||||
B_IO_FB_NA = 1 << 5
|
||||
};
|
||||
|
||||
enum { /* power saver flags */
|
||||
B_DPMS_ON = 1 << 0,
|
||||
B_DPMS_STAND_BY = 1 << 1,
|
||||
B_DPMS_SUSPEND = 1 << 2,
|
||||
B_DPMS_OFF = 1 << 3
|
||||
};
|
||||
|
||||
enum { /* timing flags */
|
||||
B_BLANK_PEDESTAL = 1 << 27,
|
||||
B_TIMING_INTERLACED = 1 << 28,
|
||||
B_POSITIVE_HSYNC = 1 << 29,
|
||||
B_POSITIVE_VSYNC = 1 << 30,
|
||||
B_SYNC_ON_GREEN = 1 << 31
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
uint16 src_left; /* guaranteed constrained to virtual width and height */
|
||||
uint16 src_top;
|
||||
uint16 dest_left;
|
||||
uint16 dest_top;
|
||||
uint16 width; /* 0 to N, where zero means one pixel, one means two pixels, etc. */
|
||||
uint16 height; /* 0 to M, where zero means one line, one means two lines, etc. */
|
||||
} blit_params;
|
||||
|
||||
typedef struct {
|
||||
uint16 src_left; /* guaranteed constrained to virtual width and height */
|
||||
uint16 src_top;
|
||||
uint16 src_width; /* 0 to N, where zero means one pixel, one means two pixels, etc. */
|
||||
uint16 src_height; /* 0 to M, where zero means one line, one means two lines, etc. */
|
||||
uint16 dest_left;
|
||||
uint16 dest_top;
|
||||
uint16 dest_width; /* 0 to N, where zero means one pixel, one means two pixels, etc. */
|
||||
uint16 dest_height; /* 0 to M, where zero means one line, one means two lines, etc. */
|
||||
} scaled_blit_params;
|
||||
|
||||
typedef struct {
|
||||
uint16 left; /* guaranteed constrained to virtual width and height */
|
||||
uint16 top;
|
||||
uint16 right;
|
||||
uint16 bottom;
|
||||
} fill_rect_params;
|
||||
|
||||
typedef struct {
|
||||
uint32 engine_id; /* 0 == no engine, 1,2,3 etc individual engines */
|
||||
uint32 capability_mask; /* features this engine supports */
|
||||
void *opaque; /* optional pointer to engine private storage */
|
||||
} engine_token;
|
||||
|
||||
enum { /* engine capabilities */
|
||||
B_2D_ACCELERATION = 1 << 0,
|
||||
B_3D_ACCELERATION = 1 << 1
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
uint64 counter; /* counts issued primatives */
|
||||
uint32 engine_id; /* what engine the counter is for */
|
||||
char opaque[12]; /* 12 bytes of private storage */
|
||||
} sync_token;
|
||||
|
||||
/* Masks for color info */
|
||||
/* B_CMAP8 - 0x000000ff */
|
||||
/* B_RGB15/16 - 0x0000ffff */
|
||||
/* B_RGB24 - 0x00ffffff */
|
||||
/* B_RGB32 - 0xffffffff */
|
||||
|
||||
typedef status_t (*init_accelerant)(int fd);
|
||||
typedef ssize_t (*accelerant_clone_info_size)(void);
|
||||
typedef void (*get_accelerant_clone_info)(void *data);
|
||||
typedef status_t (*clone_accelerant)(void *data);
|
||||
typedef void (*uninit_accelerant)(void);
|
||||
typedef status_t (*get_accelerant_device_info)(accelerant_device_info *adi);
|
||||
|
||||
typedef uint32 (*accelerant_mode_count)(void);
|
||||
typedef status_t (*get_mode_list)(display_mode *);
|
||||
typedef status_t (*propose_display_mode)(display_mode *target, display_mode *low, display_mode *high);
|
||||
typedef status_t (*set_display_mode)(display_mode *mode_to_set);
|
||||
typedef status_t (*get_display_mode)(display_mode *current_mode);
|
||||
typedef status_t (*get_frame_buffer_config)(frame_buffer_config *a_frame_buffer);
|
||||
typedef status_t (*get_pixel_clock_limits)(display_mode *dm, uint32 *low, uint32 *high);
|
||||
typedef status_t (*move_display_area)(uint16 h_display_start, uint16 v_display_start);
|
||||
typedef status_t (*get_timing_constraints)(display_timing_constraints *dtc);
|
||||
typedef void (*set_indexed_colors)(uint count, uint8 first, uint8 *color_data, uint32 flags);
|
||||
typedef uint32 (*dpms_capabilities)(void);
|
||||
typedef uint32 (*dpms_mode)(void);
|
||||
typedef status_t (*set_dpms_mode)(uint32 dpms_flags);
|
||||
typedef sem_id (*accelerant_retrace_semaphore)(void);
|
||||
|
||||
typedef status_t (*set_cursor_shape)(uint16 width, uint16 height, uint16 hot_x, uint16 hot_y, uint8 *andMask, uint8 *xorMask);
|
||||
typedef void (*move_cursor)(uint16 x, uint16 y);
|
||||
typedef void (*show_cursor)(bool is_visible);
|
||||
|
||||
typedef uint32 (*accelerant_engine_count)(void);
|
||||
typedef status_t (*acquire_engine)(uint32 capabilities, uint32 max_wait, sync_token *st, engine_token **et);
|
||||
typedef status_t (*release_engine)(engine_token *et, sync_token *st);
|
||||
typedef void (*wait_engine_idle)(void);
|
||||
typedef status_t (*get_sync_token)(engine_token *et, sync_token *st);
|
||||
typedef status_t (*sync_to_token)(sync_token *st);
|
||||
|
||||
typedef void (*screen_to_screen_blit)(engine_token *et, blit_params *list, uint32 count);
|
||||
typedef void (*fill_rectangle)(engine_token *et, uint32 color, fill_rect_params *list, uint32 count);
|
||||
typedef void (*invert_rectangle)(engine_token *et, fill_rect_params *list, uint32 count);
|
||||
typedef void (*screen_to_screen_transparent_blit)(engine_token *et, uint32 transparent_color, blit_params *list, uint32 count);
|
||||
typedef void (*screen_to_screen_scaled_filtered_blit)(engine_token *et, scaled_blit_params *list, uint32 count);
|
||||
|
||||
typedef void (*fill_span)(engine_token *et, uint32 color, uint16 *list, uint32 count);
|
||||
/*
|
||||
The uint16 *list points to a list of tripples:
|
||||
list[N+0] Y co-ordinate of span
|
||||
list[N+1] Left x co-ordinate of span
|
||||
list[N+2] Right x co-ordinate of span
|
||||
where N is in the range 0 to count-1.
|
||||
*/
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
188
headers/os/add-ons/graphics/GraphicsCard.h
Normal file
188
headers/os/add-ons/graphics/GraphicsCard.h
Normal file
@ -0,0 +1,188 @@
|
||||
/******************************************************************************
|
||||
/
|
||||
/ File: GraphicsCard.h
|
||||
/
|
||||
/ Description: App Server interface for graphics card add-ons.
|
||||
/
|
||||
/ Copyright 1993-98, Be Incorporated
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _GRAPHICS_CARD_H
|
||||
#define _GRAPHICS_CARD_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <GraphicsDefs.h>
|
||||
#include <SupportDefs.h>
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*----- Command Constants -------------------------------------*/
|
||||
|
||||
enum {
|
||||
B_OPEN_GRAPHICS_CARD,
|
||||
B_CLOSE_GRAPHICS_CARD,
|
||||
B_GET_GRAPHICS_CARD_INFO,
|
||||
B_GET_GRAPHICS_CARD_HOOKS,
|
||||
B_SET_INDEXED_COLOR,
|
||||
B_GET_SCREEN_SPACES,
|
||||
B_CONFIG_GRAPHICS_CARD,
|
||||
B_GET_REFRESH_RATES,
|
||||
B_SET_SCREEN_GAMMA,
|
||||
|
||||
B_GET_INFO_FOR_CLONE_SIZE,
|
||||
B_GET_INFO_FOR_CLONE,
|
||||
B_SET_CLONED_GRAPHICS_CARD,
|
||||
B_CLOSE_CLONED_GRAPHICS_CARD,
|
||||
B_PROPOSE_FRAME_BUFFER,
|
||||
B_SET_FRAME_BUFFER,
|
||||
B_SET_DISPLAY_AREA,
|
||||
B_MOVE_DISPLAY_AREA}
|
||||
;
|
||||
|
||||
/*----- Optional ---------------*/
|
||||
|
||||
enum {
|
||||
B_CRT_CONTROL = 0x0001,
|
||||
B_GAMMA_CONTROL = 0x0002,
|
||||
B_FRAME_BUFFER_CONTROL = 0x0004,
|
||||
B_PARALLEL_BUFFER_ACCESS = 0x0008,
|
||||
B_LAME_ASS_CARD = 0x0010
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*----- Structures --------------------------------------------*/
|
||||
|
||||
typedef struct {
|
||||
int16 version;
|
||||
int16 id;
|
||||
void *frame_buffer;
|
||||
char rgba_order[4];
|
||||
int16 flags;
|
||||
int16 bits_per_pixel;
|
||||
int16 bytes_per_row;
|
||||
int16 width;
|
||||
int16 height;
|
||||
} graphics_card_info;
|
||||
|
||||
|
||||
typedef struct {
|
||||
int32 index;
|
||||
rgb_color color;
|
||||
} indexed_color;
|
||||
|
||||
|
||||
typedef struct {
|
||||
uint32 space;
|
||||
float refresh_rate;
|
||||
uchar h_position;
|
||||
uchar v_position;
|
||||
uchar h_size;
|
||||
uchar v_size;
|
||||
} graphics_card_config;
|
||||
|
||||
|
||||
typedef struct {
|
||||
float min;
|
||||
float max;
|
||||
float current;
|
||||
} refresh_rate_info;
|
||||
|
||||
|
||||
typedef struct {
|
||||
void *screen_base;
|
||||
void *io_base;
|
||||
uint32 vendor_id;
|
||||
uint32 device_id;
|
||||
uint32 _reserved1_;
|
||||
uint32 _reserved2_;
|
||||
} graphics_card_spec;
|
||||
|
||||
|
||||
typedef struct {
|
||||
int16 x1;
|
||||
int16 y1;
|
||||
int16 x2;
|
||||
int16 y2;
|
||||
rgb_color color;
|
||||
} rgb_color_line;
|
||||
|
||||
|
||||
typedef struct {
|
||||
int16 x1;
|
||||
int16 y1;
|
||||
int16 x2;
|
||||
int16 y2;
|
||||
uchar color;
|
||||
} indexed_color_line;
|
||||
|
||||
|
||||
typedef struct {
|
||||
int16 bits_per_pixel;
|
||||
int16 bytes_per_row;
|
||||
int16 width;
|
||||
int16 height;
|
||||
int16 display_width;
|
||||
int16 display_height;
|
||||
int16 display_x;
|
||||
int16 display_y;
|
||||
} frame_buffer_info;
|
||||
|
||||
|
||||
typedef struct {
|
||||
uchar red[256];
|
||||
uchar green[256];
|
||||
uchar blue[256];
|
||||
} screen_gamma;
|
||||
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*----- Hook Function -----------------------------------------*/
|
||||
|
||||
typedef void (*graphics_card_hook) ();
|
||||
|
||||
#define B_GRAPHICS_HOOK_COUNT 48
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
_EXPORT int32 control_graphics_card(uint32, void*);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*----- Debugging Functions ------------------------------------*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void dprintf(const char *format, ...);
|
||||
bool set_dprintf_enabled(bool); /* returns old enable flag */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*----- Obsolete ---------------------------------------------*/
|
||||
#define B_HOOK_COUNT B_GRAPHICS_HOOK_COUNT
|
||||
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _GRAPHICS_CARD_H */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
84
headers/os/add-ons/screen_saver/ScreenSaver.h
Normal file
84
headers/os/add-ons/screen_saver/ScreenSaver.h
Normal file
@ -0,0 +1,84 @@
|
||||
#if ! defined _SCREENSAVER_H
|
||||
#define _SCREENSAVER_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <DirectWindow.h> // for direct_buffer_info
|
||||
#include <image.h>
|
||||
#include <Message.h>
|
||||
|
||||
class BView;
|
||||
|
||||
class BScreenSaver
|
||||
{
|
||||
public:
|
||||
BScreenSaver(BMessage *archive, image_id);
|
||||
virtual ~BScreenSaver();
|
||||
|
||||
// Return an error if something goes wrong or if you don't
|
||||
// like the running environment (lack of 3D acceleration,
|
||||
// lack of sound, ...).
|
||||
virtual status_t InitCheck();
|
||||
|
||||
// Animation start and stop. The view is not yet visible when
|
||||
// StartSaver is called.
|
||||
virtual status_t StartSaver(BView *view, bool preview);
|
||||
virtual void StopSaver();
|
||||
|
||||
// This hook is called periodically, you should
|
||||
// override it to do the drawing. Notice that you
|
||||
// should clear the screen when frame == 0 if you
|
||||
// don't want to paint over the desktop.
|
||||
virtual void Draw(BView *view, int32 frame);
|
||||
|
||||
// These hooks are for direct screen access, the first is
|
||||
// called every time the settings change, the second is
|
||||
// the equivalent of Draw to be called to access the screen
|
||||
// directly. Draw and DirectDraw can be used at the same time.
|
||||
virtual void DirectConnected(direct_buffer_info *info);
|
||||
virtual void DirectDraw(int32 frame);
|
||||
|
||||
// configuration dialog methods
|
||||
virtual void StartConfig(BView *configView);
|
||||
virtual void StopConfig();
|
||||
|
||||
// Module should fill this in with metadata
|
||||
// example: randomizable = true
|
||||
virtual void SupplyInfo(BMessage *info) const;
|
||||
|
||||
// Send all the metadata info to the module
|
||||
virtual void ModulesChanged(const BMessage *info);
|
||||
|
||||
// BArchivable like parameter saver method
|
||||
virtual status_t SaveState(BMessage *into) const;
|
||||
|
||||
// These methods can be used to control drawing frequency.
|
||||
void SetTickSize(bigtime_t ts);
|
||||
bigtime_t TickSize() const;
|
||||
|
||||
// These methods can be used to control animation loop cycles
|
||||
void SetLoop(int32 on_count, int32 off_count);
|
||||
int32 LoopOnCount() const;
|
||||
int32 LoopOffCount() const;
|
||||
|
||||
private:
|
||||
virtual void _ReservedScreenSaver1();
|
||||
virtual void _ReservedScreenSaver2();
|
||||
virtual void _ReservedScreenSaver3();
|
||||
virtual void _ReservedScreenSaver4();
|
||||
virtual void _ReservedScreenSaver5();
|
||||
virtual void _ReservedScreenSaver6();
|
||||
virtual void _ReservedScreenSaver7();
|
||||
virtual void _ReservedScreenSaver8();
|
||||
|
||||
bigtime_t ticksize;
|
||||
int32 looponcount;
|
||||
int32 loopoffcount;
|
||||
|
||||
uint32 _reservedScreenSaver[6];
|
||||
};
|
||||
|
||||
extern "C" _EXPORT BScreenSaver *instantiate_screen_saver(BMessage *msg, image_id id);
|
||||
|
||||
_EXPORT int32 saverVersionID;
|
||||
|
||||
#endif
|
44
headers/os/add-ons/tracker/Background.h
Normal file
44
headers/os/add-ons/tracker/Background.h
Normal file
@ -0,0 +1,44 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: Background.h
|
||||
/
|
||||
/ Description: Defines constants for setting Tracker background images
|
||||
/
|
||||
/ Copyright 1998-1999, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _TRACKER_BACKGROUND_H
|
||||
#define _TRACKER_BACKGROUND_H
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- Tracker background attribute name ----------------------*/
|
||||
|
||||
#define B_BACKGROUND_INFO "be:bgndimginfo"
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- Tracker background BMessage entries --------------------*/
|
||||
|
||||
#define B_BACKGROUND_IMAGE "be:bgndimginfopath" // string path
|
||||
#define B_BACKGROUND_MODE "be:bgndimginfomode" // int32, the enum below
|
||||
#define B_BACKGROUND_ORIGIN "be:bgndimginfooffset" // BPoint
|
||||
#define B_BACKGROUND_ERASE_TEXT "be:bgndimginfoerasetext" // bool
|
||||
#define B_BACKGROUND_WORKSPACES "be:bgndimginfoworkspaces" // uint32
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- Background mode values ---------------------------------*/
|
||||
|
||||
enum {
|
||||
B_BACKGROUND_MODE_USE_ORIGIN,
|
||||
B_BACKGROUND_MODE_CENTERED, // only works on Desktop
|
||||
B_BACKGROUND_MODE_SCALED, // only works on Desktop
|
||||
B_BACKGROUND_MODE_TILED
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------*/
|
||||
|
||||
const int32 B_RESTORE_BACKGROUND_IMAGE = 'Tbgr'; // force a Tracker window to
|
||||
// use a new background image
|
||||
|
||||
#endif /* _TRACKER_BACKGROUND_H */
|
27
headers/os/add-ons/tracker/TrackerAddOn.h
Normal file
27
headers/os/add-ons/tracker/TrackerAddOn.h
Normal file
@ -0,0 +1,27 @@
|
||||
/******************************************************************************
|
||||
/
|
||||
/ File: TrackerAddOn.h
|
||||
/
|
||||
/ Description: Protocol for the process_refs() hook function.
|
||||
/
|
||||
/ Copyright 1995-98, Be Incorporated, All Rights Reserved.
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _TRACKER_ADDON_H
|
||||
#define _TRACKER_ADDON_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
|
||||
struct entry_ref;
|
||||
class BMessage;
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*------- This is why you're here: ----------------------------*/
|
||||
extern "C" _EXPORT void process_refs(entry_ref dir_ref, BMessage* msg, void*);
|
||||
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _TRACKER_ADDON_H */
|
1
headers/os/add-ons/tracker/TrackerAddon.h
Normal file
1
headers/os/add-ons/tracker/TrackerAddon.h
Normal file
@ -0,0 +1 @@
|
||||
#include "TrackerAddOn.h"
|
20
headers/os/device/graphic_driver.h
Normal file
20
headers/os/device/graphic_driver.h
Normal file
@ -0,0 +1,20 @@
|
||||
#if !defined(_GRAPHIC_DRIVER_H_)
|
||||
#define _GRAPHIC_DRIVER_H_
|
||||
|
||||
#include <Drivers.h>
|
||||
|
||||
/* The API for driver access is C, not C++ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
B_GET_ACCELERANT_SIGNATURE = B_GRAPHIC_DRIVER_BASE
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
218
headers/os/interface/ChannelControl.h
Normal file
218
headers/os/interface/ChannelControl.h
Normal file
@ -0,0 +1,218 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: ChannelControl.h
|
||||
/
|
||||
/ Description: BChannelControl is the base class for controls that
|
||||
/ have several independent values, with minima and maxima.
|
||||
/
|
||||
/ Copyright 1998-99, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#if !defined(_CHANNEL_CONTROL_H)
|
||||
#define _CHANNEL_CONTROL_H
|
||||
|
||||
#include <Control.h>
|
||||
#include <String.h>
|
||||
|
||||
class BChannelControl :
|
||||
public BControl
|
||||
{
|
||||
public:
|
||||
BChannelControl(
|
||||
BRect frame,
|
||||
const char * name,
|
||||
const char * label,
|
||||
BMessage * model,
|
||||
int32 channel_count = 1,
|
||||
uint32 resize = B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
||||
uint32 flags = B_WILL_DRAW);
|
||||
BChannelControl(
|
||||
BMessage * from);
|
||||
virtual ~BChannelControl();
|
||||
virtual status_t Archive(
|
||||
BMessage * into,
|
||||
bool deep = true) const;
|
||||
|
||||
virtual void Draw(
|
||||
BRect area) = 0;
|
||||
virtual void MouseDown(
|
||||
BPoint where) = 0;
|
||||
virtual void KeyDown(
|
||||
const char * bytes,
|
||||
int32 size) = 0;
|
||||
|
||||
virtual void FrameResized(
|
||||
float width,
|
||||
float height);
|
||||
virtual void SetFont(
|
||||
const BFont * font,
|
||||
uint32 mask = B_FONT_ALL);
|
||||
|
||||
virtual void AttachedToWindow();
|
||||
virtual void DetachedFromWindow();
|
||||
virtual void ResizeToPreferred();
|
||||
virtual void GetPreferredSize(
|
||||
float * width,
|
||||
float * height) = 0;
|
||||
virtual void MessageReceived(
|
||||
BMessage * message);
|
||||
|
||||
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
|
||||
virtual void SetModificationMessage(
|
||||
BMessage *message);
|
||||
BMessage *ModificationMessage() const;
|
||||
|
||||
virtual status_t Invoke(BMessage *msg = NULL);
|
||||
|
||||
// Perform a full-fledged channel invocation. These methods are
|
||||
// just like Invoke() and InvokeNotify(), but include information
|
||||
// about all of the channels in the control.
|
||||
virtual status_t InvokeChannel(BMessage *msg = NULL,
|
||||
int32 from_channel = 0,
|
||||
int32 channel_count = -1,
|
||||
const bool* in_mask = NULL);
|
||||
status_t InvokeNotifyChannel(BMessage *msg = NULL,
|
||||
uint32 kind = B_CONTROL_INVOKED,
|
||||
int32 from_channel = 0,
|
||||
int32 channel_count = -1,
|
||||
const bool* in_mask = NULL);
|
||||
|
||||
virtual void SetValue( /* SetCurrentChannel() determines which channel */
|
||||
int32 value);
|
||||
virtual status_t SetCurrentChannel(
|
||||
int32 channel);
|
||||
int32 CurrentChannel() const;
|
||||
|
||||
virtual int32 CountChannels() const;
|
||||
virtual int32 MaxChannelCount() const = 0;
|
||||
virtual status_t SetChannelCount(
|
||||
int32 channel_count);
|
||||
int32 ValueFor(
|
||||
int32 channel) const;
|
||||
virtual int32 GetValue(
|
||||
int32 * out_values,
|
||||
int32 from_channel,
|
||||
int32 channel_count) const;
|
||||
status_t SetValueFor(
|
||||
int32 channel,
|
||||
int32 value);
|
||||
virtual status_t SetValue(
|
||||
int32 from_channel,
|
||||
int32 channel_count,
|
||||
const int32 * in_values);
|
||||
status_t SetAllValue(
|
||||
int32 values);
|
||||
status_t SetLimitsFor(
|
||||
int32 channel,
|
||||
int32 minimum,
|
||||
int32 maximum);
|
||||
status_t GetLimitsFor(
|
||||
int32 channel,
|
||||
int32 * minimum,
|
||||
int32 * maximum) const ;
|
||||
virtual status_t SetLimitsFor(
|
||||
int32 from_channel,
|
||||
int32 channel_count,
|
||||
const int32 * minimum,
|
||||
const int32 * maximum);
|
||||
virtual status_t GetLimitsFor(
|
||||
int32 from_channel,
|
||||
int32 channel_count,
|
||||
int32 * minimum,
|
||||
int32 * maximum) const;
|
||||
status_t SetLimits(
|
||||
int32 minimum,
|
||||
int32 maximum);
|
||||
status_t GetLimits(
|
||||
int32 * outMinimum,
|
||||
int32 * outMaximum) const;
|
||||
|
||||
virtual bool SupportsIndividualLimits() const = 0;
|
||||
virtual status_t SetLimitLabels(
|
||||
const char * min_label,
|
||||
const char * max_label);
|
||||
const char * MinLimitLabel() const;
|
||||
const char * MaxLimitLabel() const;
|
||||
virtual status_t SetLimitLabelsFor(
|
||||
int32 channel,
|
||||
const char * minLabel,
|
||||
const char * maxLabel);
|
||||
virtual status_t SetLimitLabelsFor(
|
||||
int32 from_channel,
|
||||
int32 channel_count,
|
||||
const char * minLabel,
|
||||
const char * maxLabel);
|
||||
const char * MinLimitLabelFor(
|
||||
int32 channel) const;
|
||||
const char * MaxLimitLabelFor(
|
||||
int32 channel) const;
|
||||
private:
|
||||
|
||||
BChannelControl( /* unimplemented */
|
||||
const BChannelControl &);
|
||||
BChannelControl & operator=( /* unimplemented */
|
||||
const BChannelControl &);
|
||||
virtual status_t _Reserverd_ChannelControl_0(void *, ...);
|
||||
virtual status_t _Reserverd_ChannelControl_1(void *, ...);
|
||||
virtual status_t _Reserverd_ChannelControl_2(void *, ...);
|
||||
virtual status_t _Reserverd_ChannelControl_3(void *, ...);
|
||||
virtual status_t _Reserverd_ChannelControl_4(void *, ...);
|
||||
virtual status_t _Reserverd_ChannelControl_5(void *, ...);
|
||||
virtual status_t _Reserverd_ChannelControl_6(void *, ...);
|
||||
virtual status_t _Reserverd_ChannelControl_7(void *, ...);
|
||||
virtual status_t _Reserverd_ChannelControl_8(void *, ...);
|
||||
virtual status_t _Reserverd_ChannelControl_9(void *, ...);
|
||||
virtual status_t _Reserverd_ChannelControl_10(void *, ...);
|
||||
virtual status_t _Reserverd_ChannelControl_11(void *, ...);
|
||||
|
||||
protected:
|
||||
|
||||
inline int32 * const & MinLimitList() const;
|
||||
inline int32 * const & MaxLimitList() const;
|
||||
inline int32 * const & ValueList() const;
|
||||
|
||||
private:
|
||||
|
||||
int32 _m_channel_count;
|
||||
int32 _m_value_channel;
|
||||
int32 * _m_channel_min;
|
||||
int32 * _m_channel_max;
|
||||
int32 * _m_channel_val;
|
||||
BString _m_min_label;
|
||||
BString _m_max_label;
|
||||
void * _m_multi_labels;
|
||||
BMessage * fModificationMsg;
|
||||
|
||||
uint32 _reserved_[15];
|
||||
|
||||
status_t StuffValues(
|
||||
int32 from_channel,
|
||||
int32 channel_count,
|
||||
const int32 * in_values);
|
||||
};
|
||||
|
||||
inline int32 * const & BChannelControl::MinLimitList() const
|
||||
{
|
||||
return _m_channel_min;
|
||||
}
|
||||
|
||||
inline int32 * const & BChannelControl::MaxLimitList() const
|
||||
{
|
||||
return _m_channel_max;
|
||||
}
|
||||
|
||||
inline int32 * const & BChannelControl::ValueList() const
|
||||
{
|
||||
return _m_channel_val;
|
||||
}
|
||||
|
||||
|
||||
#endif /* _CHANNEL_CONTROL_H */
|
||||
|
158
headers/os/interface/ChannelSlider.h
Normal file
158
headers/os/interface/ChannelSlider.h
Normal file
@ -0,0 +1,158 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: ChannelSlider.h
|
||||
/
|
||||
/ Description: BChannelSlider implements a slider which can have a number
|
||||
/ of (on-screen) related values. A typical use is for a stereo
|
||||
/ volume control.
|
||||
/
|
||||
/ Copyright 1998-99, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#if !defined(_CHANNEL_SLIDER_H)
|
||||
#define _CHANNEL_SLIDER_H
|
||||
|
||||
#include <ChannelControl.h>
|
||||
|
||||
class BChannelSlider :
|
||||
public BChannelControl
|
||||
{
|
||||
public:
|
||||
BChannelSlider(
|
||||
BRect area,
|
||||
const char * name,
|
||||
const char * label,
|
||||
BMessage * model,
|
||||
int32 channels = 1,
|
||||
uint32 resize = B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
||||
uint32 flags = B_WILL_DRAW);
|
||||
BChannelSlider(
|
||||
BRect area,
|
||||
const char * name,
|
||||
const char * label,
|
||||
BMessage * model,
|
||||
orientation o,
|
||||
int32 channels = 1,
|
||||
uint32 resize = B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
||||
uint32 flags = B_WILL_DRAW);
|
||||
BChannelSlider(
|
||||
BMessage * from);
|
||||
virtual ~BChannelSlider();
|
||||
|
||||
static BArchivable * Instantiate(BMessage * from);
|
||||
virtual status_t Archive(BMessage * into, bool deep = true) const;
|
||||
|
||||
virtual orientation Orientation() const;
|
||||
void SetOrientation(orientation o);
|
||||
|
||||
virtual int32 MaxChannelCount() const;
|
||||
virtual bool SupportsIndividualLimits() const;
|
||||
|
||||
virtual void AttachedToWindow();
|
||||
virtual void AllAttached();
|
||||
virtual void DetachedFromWindow();
|
||||
virtual void AllDetached();
|
||||
|
||||
virtual void MessageReceived(BMessage *msg);
|
||||
|
||||
virtual void Draw(BRect area);
|
||||
virtual void MouseDown(BPoint where);
|
||||
virtual void MouseUp(BPoint pt);
|
||||
virtual void MouseMoved( BPoint pt,
|
||||
uint32 code,
|
||||
const BMessage * message);
|
||||
virtual void WindowActivated(bool state);
|
||||
virtual void KeyDown(const char *bytes, int32 numBytes);
|
||||
virtual void KeyUp(const char *bytes, int32 numBytes);
|
||||
virtual void FrameResized(float width, float height);
|
||||
|
||||
virtual void SetFont(const BFont *font, uint32 mask = B_FONT_ALL);
|
||||
virtual void MakeFocus(bool focusState = true);
|
||||
|
||||
virtual void SetEnabled(bool on);
|
||||
|
||||
virtual void GetPreferredSize(float *width, float *height);
|
||||
|
||||
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
|
||||
// Perform rendering for an entire slider channel.
|
||||
virtual void DrawChannel(BView* into,
|
||||
int32 channel,
|
||||
BRect area,
|
||||
bool pressed);
|
||||
|
||||
// Draw the groove that appears behind a channel's thumb.
|
||||
virtual void DrawGroove( BView* into,
|
||||
int32 channel,
|
||||
BPoint tl,
|
||||
BPoint br);
|
||||
|
||||
// Draw the thumb for a single channel.
|
||||
virtual void DrawThumb( BView* into,
|
||||
int32 channel,
|
||||
BPoint where,
|
||||
bool pressed );
|
||||
|
||||
virtual const BBitmap * ThumbFor(int32 channel, bool pressed);
|
||||
virtual BRect ThumbFrameFor(int32 channel);
|
||||
virtual float ThumbDeltaFor(int32 channel);
|
||||
virtual float ThumbRangeFor(int32 channel);
|
||||
|
||||
private:
|
||||
typedef BChannelControl inherited;
|
||||
|
||||
BChannelSlider( /* unimplemented */
|
||||
const BChannelSlider &);
|
||||
BChannelSlider& operator=( /* unimplemented */
|
||||
const BChannelSlider &);
|
||||
|
||||
|
||||
virtual status_t _Reserved_BChannelSlider_0(void *, ...);
|
||||
virtual status_t _Reserved_BChannelSlider_1(void *, ...);
|
||||
virtual status_t _Reserved_BChannelSlider_2(void *, ...);
|
||||
virtual status_t _Reserved_BChannelSlider_3(void *, ...);
|
||||
virtual status_t _Reserved_BChannelSlider_4(void *, ...);
|
||||
virtual status_t _Reserved_BChannelSlider_5(void *, ...);
|
||||
virtual status_t _Reserved_BChannelSlider_6(void *, ...);
|
||||
virtual status_t _Reserved_BChannelSlider_7(void *, ...);
|
||||
|
||||
float _m_baseline;
|
||||
float _m_linefeed;
|
||||
BBitmap * _m_left_knob;
|
||||
BBitmap * _m_mid_knob;
|
||||
BBitmap * _m_right_knob;
|
||||
BBitmap * _m_backing;
|
||||
BView * _m_backing_view;
|
||||
bool _m_vertical;
|
||||
bool _m_padding_[3];
|
||||
BPoint _m_click_delta;
|
||||
|
||||
int32 fCurrentChannel;
|
||||
bool fAllChannels;
|
||||
int32* fInitialValues;
|
||||
float fMinpoint;
|
||||
int32 fFocusChannel;
|
||||
|
||||
uint32 _reserved_[12];
|
||||
|
||||
void InitData();
|
||||
|
||||
void FinishChange();
|
||||
void UpdateFontDimens();
|
||||
void DrawThumbs();
|
||||
void DrawThumbFrame(
|
||||
BView * where,
|
||||
const BRect & area);
|
||||
bool Vertical();
|
||||
void Redraw();
|
||||
void MouseMovedCommon(BPoint , BPoint );
|
||||
};
|
||||
|
||||
|
||||
#endif /* _CHANNEL_SLIDER_H */
|
169
headers/os/interface/ColorControl.h
Normal file
169
headers/os/interface/ColorControl.h
Normal file
@ -0,0 +1,169 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: ColorControl.h
|
||||
/
|
||||
/ Description: BColorControl displays a palette of selectable colors.
|
||||
/
|
||||
/ Copyright 1996-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
|
||||
#ifndef _COLOR_CONTROL_H
|
||||
#define _COLOR_CONTROL_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <Control.h>
|
||||
|
||||
class BBitmap;
|
||||
|
||||
/*------------------------------------------------------------*/
|
||||
/*----- layout options for the color control -----------------*/
|
||||
|
||||
enum color_control_layout {
|
||||
B_CELLS_4x64 = 4,
|
||||
B_CELLS_8x32 = 8,
|
||||
B_CELLS_16x16 = 16,
|
||||
B_CELLS_32x8 = 32,
|
||||
B_CELLS_64x4 = 64
|
||||
};
|
||||
|
||||
class BTextControl;
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BColorControl class --------------------------------------*/
|
||||
|
||||
class BColorControl : public BControl {
|
||||
public:
|
||||
BColorControl( BPoint start,
|
||||
color_control_layout layout,
|
||||
float cell_size,
|
||||
const char *name,
|
||||
BMessage *message = NULL,
|
||||
bool use_offscreen = false);
|
||||
virtual ~BColorControl();
|
||||
|
||||
BColorControl(BMessage *data);
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
|
||||
virtual void SetValue(int32 color_value);
|
||||
void SetValue(rgb_color color);
|
||||
rgb_color ValueAsColor();
|
||||
|
||||
virtual void SetEnabled(bool state);
|
||||
|
||||
virtual void AttachedToWindow();
|
||||
virtual void MessageReceived(BMessage *msg);
|
||||
virtual void Draw(BRect updateRect);
|
||||
virtual void MouseDown(BPoint where);
|
||||
virtual void KeyDown(const char *bytes, int32 numBytes);
|
||||
|
||||
virtual void SetCellSize(float size);
|
||||
float CellSize() const;
|
||||
virtual void SetLayout(color_control_layout layout);
|
||||
color_control_layout Layout() const;
|
||||
|
||||
virtual void WindowActivated(bool state);
|
||||
virtual void MouseUp(BPoint pt);
|
||||
virtual void MouseMoved(BPoint pt, uint32 code, const BMessage *msg);
|
||||
virtual void DetachedFromWindow();
|
||||
virtual void GetPreferredSize(float *width, float *height);
|
||||
virtual void ResizeToPreferred();
|
||||
virtual status_t Invoke(BMessage *msg = NULL);
|
||||
virtual void FrameMoved(BPoint new_position);
|
||||
virtual void FrameResized(float new_width, float new_height);
|
||||
|
||||
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
|
||||
virtual void MakeFocus(bool state = true);
|
||||
virtual void AllAttached();
|
||||
virtual void AllDetached();
|
||||
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
|
||||
private:
|
||||
|
||||
virtual void _ReservedColorControl1();
|
||||
virtual void _ReservedColorControl2();
|
||||
virtual void _ReservedColorControl3();
|
||||
virtual void _ReservedColorControl4();
|
||||
|
||||
BColorControl &operator=(const BColorControl &);
|
||||
|
||||
void LayoutView(bool calc_frame);
|
||||
void UpdateOffscreen();
|
||||
void UpdateOffscreen(BRect update);
|
||||
void DrawColorArea(BView *target, BRect update);
|
||||
void ColorRamp( BRect r,
|
||||
BRect where,
|
||||
BView *target,
|
||||
rgb_color c,
|
||||
int16 flag,
|
||||
bool focused);
|
||||
void KbAdjustColor(uint32 key);
|
||||
bool key_down32(uint32 key);
|
||||
bool key_down8(uint32 key);
|
||||
static BRect CalcFrame( BPoint start,
|
||||
color_control_layout layout,
|
||||
int32 size);
|
||||
void InitData( color_control_layout layout,
|
||||
float size,
|
||||
bool use_offscreen,
|
||||
BMessage *data = NULL);
|
||||
void DoMouseMoved(BPoint pt);
|
||||
void DoMouseUp(BPoint pt);
|
||||
|
||||
float fCellSize;
|
||||
int32 fRows;
|
||||
int32 fColumns;
|
||||
|
||||
struct track_state {
|
||||
int32 orig_color;
|
||||
int32 cur_color;
|
||||
int32 prev_color;
|
||||
int32 bar_index;
|
||||
BRect active_area;
|
||||
BRect r;
|
||||
rgb_color rgb;
|
||||
color_space cspace;
|
||||
};
|
||||
|
||||
BTextControl *fRedText;
|
||||
BTextControl *fGreenText;
|
||||
BTextControl *fBlueText;
|
||||
BBitmap *fBitmap;
|
||||
BView *fOffscreenView;
|
||||
color_space fLastMode;
|
||||
float fRound;
|
||||
int32 fFocusedComponent;
|
||||
int32 fCachedIndex;
|
||||
uint32 _reserved[3];
|
||||
track_state *fTState;
|
||||
bool fUnused; // fTracking;
|
||||
bool fFocused;
|
||||
bool fRetainCache;
|
||||
bool fFastSet;
|
||||
};
|
||||
|
||||
/*------------------------------------------------------------*/
|
||||
/*----- inline functions -------------------------------------*/
|
||||
|
||||
inline void BColorControl::SetValue(rgb_color color)
|
||||
{
|
||||
/* OK, no private parts */
|
||||
int32 c = (color.red << 24) + (color.green << 16) + (color.blue << 8);
|
||||
SetValue(c);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _COLOR_CONTROL_H */
|
126
headers/os/interface/Dragger.h
Normal file
126
headers/os/interface/Dragger.h
Normal file
@ -0,0 +1,126 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: Dragger.h
|
||||
/
|
||||
/ Description: BDragger represents a replicant "handle."
|
||||
/
|
||||
/ Copyright 1997-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _DRAGGER_H
|
||||
#define _DRAGGER_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <Locker.h>
|
||||
#include <List.h>
|
||||
#include <View.h>
|
||||
|
||||
class BBitmap;
|
||||
class BMessage;
|
||||
class BShelf;
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BDragger class -------------------------------------------*/
|
||||
|
||||
class BDragger : public BView {
|
||||
public:
|
||||
BDragger(BRect bounds,
|
||||
BView *target,
|
||||
uint32 rmask = B_FOLLOW_NONE,
|
||||
uint32 flags = B_WILL_DRAW);
|
||||
BDragger(BMessage *data);
|
||||
|
||||
virtual ~BDragger();
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
|
||||
virtual void AttachedToWindow();
|
||||
virtual void DetachedFromWindow();
|
||||
virtual void Draw(BRect update);
|
||||
virtual void MouseDown(BPoint where);
|
||||
virtual void MouseUp(BPoint pt);
|
||||
virtual void MouseMoved(BPoint pt, uint32 code, const BMessage *msg);
|
||||
virtual void MessageReceived(BMessage *msg);
|
||||
virtual void FrameMoved(BPoint new_position);
|
||||
virtual void FrameResized(float new_width, float new_height);
|
||||
|
||||
static status_t ShowAllDraggers(); /* system wide!*/
|
||||
static status_t HideAllDraggers(); /* system wide!*/
|
||||
static bool AreDraggersDrawn();
|
||||
|
||||
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
|
||||
virtual void ResizeToPreferred();
|
||||
virtual void GetPreferredSize(float *width, float *height);
|
||||
virtual void MakeFocus(bool state = true);
|
||||
virtual void AllAttached();
|
||||
virtual void AllDetached();
|
||||
|
||||
status_t SetPopUp(BPopUpMenu *context_menu);
|
||||
BPopUpMenu *PopUp() const;
|
||||
|
||||
bool InShelf() const;
|
||||
BView *Target() const;
|
||||
|
||||
virtual BBitmap *DragBitmap(BPoint *offset, drawing_mode *mode);
|
||||
|
||||
protected:
|
||||
bool IsVisibilityChanging() const;
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
private:
|
||||
|
||||
friend class _TContainerViewFilter_;
|
||||
friend class _rep_data_;
|
||||
friend class BShelf;
|
||||
friend void _toggle_handles_(bool);
|
||||
|
||||
//+virtual void _ReservedDragger1();
|
||||
virtual void _ReservedDragger2();
|
||||
virtual void _ReservedDragger3();
|
||||
virtual void _ReservedDragger4();
|
||||
|
||||
BDragger &operator=(const BDragger &);
|
||||
|
||||
void ListManage(bool);
|
||||
status_t determine_relationship();
|
||||
status_t SetViewToDrag(BView *target);
|
||||
void SetShelf(BShelf *);
|
||||
void SetZombied(bool state);
|
||||
void BuildDefaultPopUp();
|
||||
void ShowPopUp(BView *target, BPoint where);
|
||||
static bool sVisible;
|
||||
static bool sInited;
|
||||
static BLocker sLock;
|
||||
static BList sList;
|
||||
|
||||
enum relation {
|
||||
TARGET_UNKNOWN,
|
||||
TARGET_IS_CHILD,
|
||||
TARGET_IS_PARENT,
|
||||
TARGET_IS_SIBLING
|
||||
};
|
||||
|
||||
BView *fTarget;
|
||||
relation fRelation;
|
||||
BShelf *fShelf;
|
||||
bool fTransition;
|
||||
bool fIsZombie;
|
||||
char fErrCount;
|
||||
bool _unused2;
|
||||
BBitmap *fBitmap;
|
||||
BPopUpMenu *fPopUp;
|
||||
uint32 _reserved[3]; /* was 4 */
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _DRAGGER_H */
|
299
headers/os/interface/Menu.h
Normal file
299
headers/os/interface/Menu.h
Normal file
@ -0,0 +1,299 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: Menu.h
|
||||
/
|
||||
/ Description: BMenu display a menu of selectable items.
|
||||
/
|
||||
/ Copyright 1994-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _MENU_H
|
||||
#define _MENU_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <InterfaceDefs.h>
|
||||
#include <List.h>
|
||||
#include <View.h>
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- Menu decalrations and structures -------------------------*/
|
||||
|
||||
class BMenuItem;
|
||||
class BMenuBar;
|
||||
class BMenuWindow;
|
||||
class BMenuFrame;
|
||||
|
||||
class _ExtraMenuData_;
|
||||
|
||||
enum menu_layout {
|
||||
B_ITEMS_IN_ROW = 0,
|
||||
B_ITEMS_IN_COLUMN,
|
||||
B_ITEMS_IN_MATRIX
|
||||
};
|
||||
|
||||
struct menu_info {
|
||||
float font_size;
|
||||
font_family f_family;
|
||||
font_style f_style;
|
||||
rgb_color background_color;
|
||||
int32 separator;
|
||||
bool click_to_open;
|
||||
bool triggers_always_shown;
|
||||
};
|
||||
|
||||
_IMPEXP_BE status_t set_menu_info(menu_info *info);
|
||||
_IMPEXP_BE status_t get_menu_info(menu_info *info);
|
||||
|
||||
typedef bool (* menu_tracking_hook )(BMenu *, void *);
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BMenu class ----------------------------------------------*/
|
||||
|
||||
class BMenu : public BView
|
||||
{
|
||||
public:
|
||||
BMenu( const char *title,
|
||||
menu_layout layout = B_ITEMS_IN_COLUMN);
|
||||
BMenu(const char *title, float width, float height);
|
||||
virtual ~BMenu();
|
||||
|
||||
BMenu(BMessage *data);
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
|
||||
virtual void AttachedToWindow();
|
||||
virtual void DetachedFromWindow();
|
||||
|
||||
bool AddItem(BMenuItem *item);
|
||||
bool AddItem(BMenuItem *item, int32 index);
|
||||
bool AddItem(BMenuItem *item, BRect frame);
|
||||
bool AddItem(BMenu *menu);
|
||||
bool AddItem(BMenu *menu, int32 index);
|
||||
bool AddItem(BMenu *menu, BRect frame);
|
||||
bool AddList(BList *list, int32 index);
|
||||
bool AddSeparatorItem();
|
||||
bool RemoveItem(BMenuItem *item);
|
||||
BMenuItem *RemoveItem(int32 index);
|
||||
bool RemoveItems(int32 index,
|
||||
int32 count,
|
||||
bool del = false);
|
||||
bool RemoveItem(BMenu *menu);
|
||||
|
||||
BMenuItem *ItemAt(int32 index) const;
|
||||
BMenu *SubmenuAt(int32 index) const;
|
||||
int32 CountItems() const;
|
||||
int32 IndexOf(BMenuItem *item) const;
|
||||
int32 IndexOf(BMenu *menu) const;
|
||||
BMenuItem *FindItem(uint32 command) const;
|
||||
BMenuItem *FindItem(const char *name) const;
|
||||
|
||||
virtual status_t SetTargetForItems(BHandler *target);
|
||||
virtual status_t SetTargetForItems(BMessenger messenger);
|
||||
virtual void SetEnabled(bool state);
|
||||
virtual void SetRadioMode(bool state);
|
||||
virtual void SetTriggersEnabled(bool state);
|
||||
virtual void SetMaxContentWidth(float max);
|
||||
|
||||
void SetLabelFromMarked(bool on);
|
||||
bool IsLabelFromMarked();
|
||||
bool IsEnabled() const;
|
||||
bool IsRadioMode() const;
|
||||
bool AreTriggersEnabled() const;
|
||||
bool IsRedrawAfterSticky() const;
|
||||
float MaxContentWidth() const;
|
||||
|
||||
BMenuItem *FindMarked();
|
||||
|
||||
BMenu *Supermenu() const;
|
||||
BMenuItem *Superitem() const;
|
||||
|
||||
virtual void MessageReceived(BMessage *msg);
|
||||
virtual void KeyDown(const char *bytes, int32 numBytes);
|
||||
virtual void Draw(BRect updateRect);
|
||||
virtual void GetPreferredSize(float *width, float *height);
|
||||
virtual void ResizeToPreferred();
|
||||
virtual void FrameMoved(BPoint new_position);
|
||||
virtual void FrameResized(float new_width, float new_height);
|
||||
void InvalidateLayout();
|
||||
|
||||
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
|
||||
virtual void MakeFocus(bool state = true);
|
||||
virtual void AllAttached();
|
||||
virtual void AllDetached();
|
||||
|
||||
protected:
|
||||
|
||||
BMenu( BRect frame,
|
||||
const char *viewName,
|
||||
uint32 resizeMask,
|
||||
uint32 flags,
|
||||
menu_layout layout,
|
||||
bool resizeToFit);
|
||||
|
||||
virtual BPoint ScreenLocation();
|
||||
|
||||
void SetItemMargins( float left,
|
||||
float top,
|
||||
float right,
|
||||
float bottom);
|
||||
void GetItemMargins( float *left,
|
||||
float *top,
|
||||
float *right,
|
||||
float *bottom) const;
|
||||
|
||||
menu_layout Layout() const;
|
||||
|
||||
virtual void Show();
|
||||
void Show(bool selectFirstItem);
|
||||
void Hide();
|
||||
BMenuItem *Track( bool start_opened = false,
|
||||
BRect *special_rect = NULL);
|
||||
|
||||
public:
|
||||
enum add_state {
|
||||
B_INITIAL_ADD,
|
||||
B_PROCESSING,
|
||||
B_ABORT
|
||||
};
|
||||
virtual bool AddDynamicItem(add_state s);
|
||||
virtual void DrawBackground(BRect update);
|
||||
|
||||
void SetTrackingHook(menu_tracking_hook func, void *state);
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
private:
|
||||
friend BWindow;
|
||||
friend BMenuBar;
|
||||
friend BMenuItem;
|
||||
friend status_t _init_interface_kit_();
|
||||
friend status_t set_menu_info(menu_info *);
|
||||
friend status_t get_menu_info(menu_info *);
|
||||
|
||||
virtual void _ReservedMenu3();
|
||||
virtual void _ReservedMenu4();
|
||||
virtual void _ReservedMenu5();
|
||||
virtual void _ReservedMenu6();
|
||||
|
||||
BMenu &operator=(const BMenu &);
|
||||
|
||||
void InitData(BMessage *data = NULL);
|
||||
bool _show(bool selectFirstItem = false);
|
||||
void _hide();
|
||||
BMenuItem *_track(int *action, long start = -1);
|
||||
bool _AddItem(BMenuItem *item, int32 index);
|
||||
bool RemoveItems(int32 index,
|
||||
int32 count,
|
||||
BMenuItem *item,
|
||||
bool del = false);
|
||||
void LayoutItems(int32 index);
|
||||
void ComputeLayout(int32 index, bool bestFit, bool moveItems,
|
||||
float* width, float* height);
|
||||
BRect Bump(BRect current, BPoint extent, int32 index) const;
|
||||
BPoint ItemLocInRect(BRect frame) const;
|
||||
BRect CalcFrame(BPoint where, bool *scrollOn);
|
||||
bool ScrollMenu(BRect bounds, BPoint loc, bool *fast);
|
||||
void ScrollIntoView(BMenuItem *item);
|
||||
|
||||
void DrawItems(BRect updateRect);
|
||||
int State(BMenuItem **item = NULL) const;
|
||||
void InvokeItem(BMenuItem *item, bool now = false);
|
||||
|
||||
bool OverSuper(BPoint loc);
|
||||
bool OverSubmenu(BMenuItem *item, BPoint loc);
|
||||
BMenuWindow *MenuWindow();
|
||||
void DeleteMenuWindow();
|
||||
BMenuItem *HitTestItems(BPoint where, BPoint slop = B_ORIGIN) const;
|
||||
BRect Superbounds() const;
|
||||
void CacheFontInfo();
|
||||
|
||||
void ItemMarked(BMenuItem *item);
|
||||
void Install(BWindow *target);
|
||||
void Uninstall();
|
||||
void SelectItem( BMenuItem *m,
|
||||
uint32 showSubmenu = 0,
|
||||
bool selectFirstItem = false);
|
||||
BMenuItem *CurrentSelection() const;
|
||||
bool SelectNextItem(BMenuItem *item, bool forward);
|
||||
BMenuItem *NextItem(BMenuItem *item, bool forward) const;
|
||||
bool IsItemVisible(BMenuItem *item) const;
|
||||
void SetIgnoreHidden(bool on);
|
||||
void SetStickyMode(bool on);
|
||||
bool IsStickyMode() const;
|
||||
void CalcTriggers();
|
||||
const char *ChooseTrigger(const char *title, BList *chars);
|
||||
void UpdateWindowViewSize(bool upWind = true);
|
||||
bool IsStickyPrefOn();
|
||||
void RedrawAfterSticky(BRect bounds);
|
||||
bool OkToProceed(BMenuItem *);
|
||||
|
||||
status_t ParseMsg(BMessage *msg, int32 *sindex, BMessage *spec,
|
||||
int32 *form, const char **prop,
|
||||
BMenu **tmenu, BMenuItem **titem, int32 *user_data,
|
||||
BMessage *reply) const;
|
||||
|
||||
status_t DoMenuMsg(BMenuItem **next, BMenu *tar, BMessage *m,
|
||||
BMessage *r, BMessage *spec, int32 f) const;
|
||||
status_t DoMenuItemMsg(BMenuItem **next, BMenu *tar, BMessage *m,
|
||||
BMessage *r, BMessage *spec, int32 f) const;
|
||||
|
||||
status_t DoEnabledMsg(BMenuItem *ti, BMenu *tm, BMessage *m,
|
||||
BMessage *r) const;
|
||||
status_t DoLabelMsg(BMenuItem *ti, BMenu *tm, BMessage *m,
|
||||
BMessage *r) const;
|
||||
status_t DoMarkMsg(BMenuItem *ti, BMenu *tm, BMessage *m,
|
||||
BMessage *r) const;
|
||||
status_t DoDeleteMsg(BMenuItem *ti, BMenu *tm, BMessage *m,
|
||||
BMessage *r) const;
|
||||
status_t DoCreateMsg(BMenuItem *ti, BMenu *tm, BMessage *m,
|
||||
BMessage *r, bool menu) const;
|
||||
|
||||
static menu_info sMenuInfo;
|
||||
static bool sSwapped;
|
||||
|
||||
BMenuItem *fChosenItem;
|
||||
BList fItems;
|
||||
BRect fPad;
|
||||
BMenuItem *fSelected;
|
||||
BMenuWindow *fCachedMenuWindow;
|
||||
BMenu *fSuper;
|
||||
BMenuItem *fSuperitem;
|
||||
BRect fSuperbounds;
|
||||
float fAscent;
|
||||
float fDescent;
|
||||
float fFontHeight;
|
||||
uint32 fState;
|
||||
menu_layout fLayout;
|
||||
BRect *fExtraRect;
|
||||
float fMaxContentWidth;
|
||||
BPoint *fInitMatrixSize;
|
||||
_ExtraMenuData_ *fExtraMenuData; // !!
|
||||
|
||||
uint32 _reserved[2];
|
||||
|
||||
char fTrigger;
|
||||
bool fResizeToFit;
|
||||
bool fUseCachedMenuLayout;
|
||||
bool fEnabled;
|
||||
bool fDynamicName;
|
||||
bool fRadioMode;
|
||||
bool fTrackNewBounds;
|
||||
bool fStickyMode;
|
||||
bool fIgnoreHidden;
|
||||
bool fTriggerEnabled;
|
||||
bool fRedrawAfterSticky;
|
||||
bool fAttachAborted;
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _MENU_H */
|
120
headers/os/interface/MenuBar.h
Normal file
120
headers/os/interface/MenuBar.h
Normal file
@ -0,0 +1,120 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: Menubar.h
|
||||
/
|
||||
/ Description: BMenuBar is a menu that's at the root of a menu hierarchy.
|
||||
/
|
||||
/ Copyright 1994-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _MENU_BAR_H
|
||||
#define _MENU_BAR_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <InterfaceDefs.h>
|
||||
#include <Menu.h>
|
||||
#include <OS.h>
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BmenuBar declarations ------------------------------------*/
|
||||
|
||||
enum menu_bar_border {
|
||||
B_BORDER_FRAME,
|
||||
B_BORDER_CONTENTS,
|
||||
B_BORDER_EACH_ITEM
|
||||
};
|
||||
|
||||
class BMenu;
|
||||
class BWindow;
|
||||
class BMenuItem;
|
||||
class BMenuField;
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BMenuBar class -------------------------------------------*/
|
||||
|
||||
class BMenuBar : public BMenu
|
||||
{
|
||||
public:
|
||||
BMenuBar( BRect frame,
|
||||
const char *title,
|
||||
uint32 resizeMask =
|
||||
B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP,
|
||||
menu_layout layout = B_ITEMS_IN_ROW,
|
||||
bool resizeToFit = true);
|
||||
BMenuBar(BMessage *data);
|
||||
virtual ~BMenuBar();
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
|
||||
virtual void SetBorder(menu_bar_border border);
|
||||
menu_bar_border Border() const;
|
||||
virtual void Draw(BRect updateRect);
|
||||
virtual void AttachedToWindow();
|
||||
virtual void DetachedFromWindow();
|
||||
virtual void MessageReceived(BMessage *msg);
|
||||
virtual void MouseDown(BPoint where);
|
||||
virtual void WindowActivated(bool state);
|
||||
virtual void MouseUp(BPoint where);
|
||||
virtual void FrameMoved(BPoint new_position);
|
||||
virtual void FrameResized(float new_width, float new_height);
|
||||
|
||||
virtual void Show();
|
||||
virtual void Hide();
|
||||
|
||||
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
|
||||
virtual void ResizeToPreferred();
|
||||
virtual void GetPreferredSize(float *width, float *height);
|
||||
virtual void MakeFocus(bool state = true);
|
||||
virtual void AllAttached();
|
||||
virtual void AllDetached();
|
||||
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
|
||||
private:
|
||||
friend BWindow;
|
||||
friend BMenuItem;
|
||||
friend BMenuField;
|
||||
friend BMenu;
|
||||
|
||||
virtual void _ReservedMenuBar1();
|
||||
virtual void _ReservedMenuBar2();
|
||||
virtual void _ReservedMenuBar3();
|
||||
virtual void _ReservedMenuBar4();
|
||||
|
||||
BMenuBar &operator=(const BMenuBar &);
|
||||
|
||||
void StartMenuBar( int32 menuIndex,
|
||||
bool sticky = true,
|
||||
bool show_menu = false,
|
||||
BRect *special_rect = NULL);
|
||||
static long TrackTask(void *arg);
|
||||
BMenuItem *Track( int32 *action,
|
||||
int32 startIndex = -1,
|
||||
bool showMenu = false);
|
||||
void StealFocus();
|
||||
void RestoreFocus();
|
||||
void InitData(menu_layout layout);
|
||||
|
||||
menu_bar_border fBorder;
|
||||
thread_id fTrackingPID;
|
||||
int32 fPrevFocusToken;
|
||||
sem_id fMenuSem;
|
||||
BRect* fLastBounds;
|
||||
uint32 _reserved[2]; // was 3
|
||||
|
||||
bool fTracking;
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _MENU_BAR_H */
|
125
headers/os/interface/MenuField.h
Normal file
125
headers/os/interface/MenuField.h
Normal file
@ -0,0 +1,125 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: MenuField.h
|
||||
/
|
||||
/ Description: BMenuField displays a labeled pop-up menu.
|
||||
/
|
||||
/ Copyright 1994-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
|
||||
#ifndef _MENU_FIELD_H
|
||||
#define _MENU_FIELD_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <Menu.h> /* For convenience */
|
||||
#include <View.h>
|
||||
|
||||
class BMenuBar;
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BMenuField class -----------------------------------------*/
|
||||
|
||||
class BMenuField : public BView
|
||||
{
|
||||
public:
|
||||
BMenuField( BRect frame,
|
||||
const char *name,
|
||||
const char *label,
|
||||
BMenu *menu,
|
||||
uint32 resize = B_FOLLOW_LEFT|B_FOLLOW_TOP,
|
||||
uint32 flags = B_WILL_DRAW | B_NAVIGABLE);
|
||||
BMenuField( BRect frame,
|
||||
const char *name,
|
||||
const char *label,
|
||||
BMenu *menu,
|
||||
bool fixed_size,
|
||||
uint32 resize = B_FOLLOW_LEFT|B_FOLLOW_TOP,
|
||||
uint32 flags = B_WILL_DRAW | B_NAVIGABLE);
|
||||
BMenuField(BMessage *data);
|
||||
virtual ~BMenuField();
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
|
||||
virtual void Draw(BRect update);
|
||||
virtual void AttachedToWindow();
|
||||
virtual void AllAttached();
|
||||
virtual void MouseDown(BPoint where);
|
||||
virtual void KeyDown(const char *bytes, int32 numBytes);
|
||||
virtual void MakeFocus(bool state);
|
||||
virtual void MessageReceived(BMessage *msg);
|
||||
virtual void WindowActivated(bool state);
|
||||
virtual void MouseUp(BPoint pt);
|
||||
virtual void MouseMoved(BPoint pt, uint32 code, const BMessage *msg);
|
||||
virtual void DetachedFromWindow();
|
||||
virtual void AllDetached();
|
||||
virtual void FrameMoved(BPoint new_position);
|
||||
virtual void FrameResized(float new_width, float new_height);
|
||||
|
||||
BMenu *Menu() const;
|
||||
BMenuBar *MenuBar() const;
|
||||
BMenuItem *MenuItem() const;
|
||||
|
||||
virtual void SetLabel(const char *label);
|
||||
const char *Label() const;
|
||||
|
||||
virtual void SetEnabled(bool on);
|
||||
bool IsEnabled() const;
|
||||
|
||||
virtual void SetAlignment(alignment label);
|
||||
alignment Alignment() const;
|
||||
virtual void SetDivider(float dividing_line);
|
||||
float Divider() const;
|
||||
|
||||
void ShowPopUpMarker();
|
||||
void HidePopUpMarker();
|
||||
|
||||
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
|
||||
virtual void ResizeToPreferred();
|
||||
virtual void GetPreferredSize(float *width, float *height);
|
||||
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
|
||||
private:
|
||||
friend class _BMCMenuBar_;
|
||||
|
||||
virtual void _ReservedMenuField1();
|
||||
virtual void _ReservedMenuField2();
|
||||
virtual void _ReservedMenuField3();
|
||||
|
||||
BMenuField &operator=(const BMenuField &);
|
||||
|
||||
|
||||
void InitObject(const char *label);
|
||||
void InitObject2();
|
||||
void DrawLabel(BRect bounds, BRect update);
|
||||
static void InitMenu(BMenu *menu);
|
||||
static long MenuTask(void *arg);
|
||||
|
||||
char *fLabel;
|
||||
BMenu *fMenu;
|
||||
BMenuBar *fMenuBar;
|
||||
alignment fAlign;
|
||||
float fDivider;
|
||||
float fStringWidth;
|
||||
bool fEnabled;
|
||||
bool fSelected;
|
||||
bool fTransition;
|
||||
bool fFixedSizeMB;
|
||||
thread_id fMenuTaskID;
|
||||
uint32 _reserved[3];
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _MENU_FIELD_H */
|
148
headers/os/interface/MenuItem.h
Normal file
148
headers/os/interface/MenuItem.h
Normal file
@ -0,0 +1,148 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: MenuItem.h
|
||||
/
|
||||
/ Description: BMenuItem represents a single item in a BMenu.
|
||||
/ BSeparatorItem is a cosmetic menu item that demarcates
|
||||
/ groups of other items.
|
||||
/
|
||||
/ Copyright 1994-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _MENU_ITEM_H
|
||||
#define _MENU_ITEM_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <InterfaceDefs.h>
|
||||
#include <Archivable.h>
|
||||
#include <Invoker.h>
|
||||
#include <Menu.h> /* For convenience */
|
||||
|
||||
class BMessage;
|
||||
class BWindow;
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BMenuItem class ------------------------------------------*/
|
||||
|
||||
class BMenuItem : public BArchivable, public BInvoker {
|
||||
public:
|
||||
BMenuItem( const char *label,
|
||||
BMessage *message,
|
||||
char shortcut = 0,
|
||||
uint32 modifiers = 0);
|
||||
BMenuItem(BMenu *menu, BMessage *message = NULL);
|
||||
BMenuItem(BMessage *data);
|
||||
virtual ~BMenuItem();
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
|
||||
virtual void SetLabel(const char *name);
|
||||
virtual void SetEnabled(bool state);
|
||||
virtual void SetMarked(bool state);
|
||||
virtual void SetTrigger(char ch);
|
||||
virtual void SetShortcut(char ch, uint32 modifiers);
|
||||
|
||||
const char *Label() const;
|
||||
bool IsEnabled() const;
|
||||
bool IsMarked() const;
|
||||
char Trigger() const;
|
||||
char Shortcut(uint32 *modifiers = NULL) const;
|
||||
|
||||
BMenu *Submenu() const;
|
||||
BMenu *Menu() const;
|
||||
BRect Frame() const;
|
||||
|
||||
protected:
|
||||
|
||||
virtual void GetContentSize(float *width, float *height);
|
||||
virtual void TruncateLabel(float max, char *new_label);
|
||||
virtual void DrawContent();
|
||||
virtual void Draw();
|
||||
virtual void Highlight(bool on);
|
||||
bool IsSelected() const;
|
||||
BPoint ContentLocation() const;
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
private:
|
||||
friend BMenu;
|
||||
friend BPopUpMenu;
|
||||
friend BMenuBar;
|
||||
|
||||
virtual void _ReservedMenuItem1();
|
||||
virtual void _ReservedMenuItem2();
|
||||
virtual void _ReservedMenuItem3();
|
||||
virtual void _ReservedMenuItem4();
|
||||
|
||||
BMenuItem(const BMenuItem &);
|
||||
BMenuItem &operator=(const BMenuItem &);
|
||||
|
||||
void InitData();
|
||||
void InitMenuData(BMenu *menu);
|
||||
void Install(BWindow *window);
|
||||
|
||||
/*----- Protected function -----------------------------------------*/
|
||||
protected:
|
||||
virtual status_t Invoke(BMessage *msg = NULL);
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
private:
|
||||
void Uninstall();
|
||||
void SetSuper(BMenu *super);
|
||||
void Select(bool on);
|
||||
void DrawMarkSymbol();
|
||||
void DrawShortcutSymbol();
|
||||
void DrawSubmenuSymbol();
|
||||
void DrawControlChar(const char *control);
|
||||
void SetSysTrigger(char ch);
|
||||
|
||||
char *fLabel;
|
||||
BMenu *fSubmenu;
|
||||
BWindow *fWindow;
|
||||
BMenu *fSuper;
|
||||
BRect fBounds;
|
||||
uint32 fModifiers;
|
||||
float fCachedWidth;
|
||||
int16 fTriggerIndex;
|
||||
char fUserTrigger;
|
||||
char fSysTrigger;
|
||||
char fShortcutChar;
|
||||
bool fMark;
|
||||
bool fEnabled;
|
||||
bool fSelected;
|
||||
|
||||
uint32 _reserved[4];
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BSeparatorItem class -------------------------------------*/
|
||||
|
||||
class BSeparatorItem : public BMenuItem
|
||||
{
|
||||
public:
|
||||
BSeparatorItem();
|
||||
BSeparatorItem(BMessage *data);
|
||||
virtual ~BSeparatorItem();
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
virtual void SetEnabled(bool state);
|
||||
|
||||
protected:
|
||||
|
||||
virtual void GetContentSize(float *width, float *height);
|
||||
virtual void Draw();
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
private:
|
||||
virtual void _ReservedSeparatorItem1();
|
||||
virtual void _ReservedSeparatorItem2();
|
||||
|
||||
BSeparatorItem &operator=(const BSeparatorItem &);
|
||||
|
||||
uint32 _reserved[1];
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _MENU_ITEM_H */
|
165
headers/os/interface/MultiChannelControl.h
Normal file
165
headers/os/interface/MultiChannelControl.h
Normal file
@ -0,0 +1,165 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: MultiChannelControl.h
|
||||
/
|
||||
/ Description: BMultiChannelControl is the base class for controls that
|
||||
/ have several independent values, with minima and maxima.
|
||||
/
|
||||
/ Copyright 1998-99, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#if !defined(_MULTI_CHANNEL_CONTROL_H)
|
||||
#define _MULTI_CHANNEL_CONTROL_H
|
||||
|
||||
#include <Control.h>
|
||||
|
||||
|
||||
class BMultiChannelControl :
|
||||
public BControl
|
||||
{
|
||||
public:
|
||||
BMultiChannelControl(
|
||||
BRect frame,
|
||||
const char * name,
|
||||
const char * label,
|
||||
BMessage * model,
|
||||
int32 channel_count = 1,
|
||||
uint32 resize = B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
||||
uint32 flags = B_WILL_DRAW);
|
||||
BMultiChannelControl(
|
||||
BMessage * from);
|
||||
virtual ~BMultiChannelControl();
|
||||
virtual status_t Archive(
|
||||
BMessage * into,
|
||||
bool deep = true) const;
|
||||
|
||||
virtual void Draw(
|
||||
BRect area) = 0;
|
||||
virtual void MouseDown(
|
||||
BPoint where) = 0;
|
||||
virtual void KeyDown(
|
||||
const char * bytes,
|
||||
int32 size) = 0;
|
||||
|
||||
virtual void FrameResized(
|
||||
float width,
|
||||
float height);
|
||||
virtual void SetFont(
|
||||
const BFont * font,
|
||||
uint32 mask = B_FONT_ALL);
|
||||
virtual void AttachedToWindow();
|
||||
virtual void DetachedFromWindow();
|
||||
virtual void ResizeToPreferred();
|
||||
virtual void GetPreferredSize(
|
||||
float * width,
|
||||
float * height) = 0;
|
||||
virtual void MessageReceived(
|
||||
BMessage * message);
|
||||
|
||||
virtual void SetValue( /* SetValueChannel() determines which channel */
|
||||
int32 value);
|
||||
virtual status_t SetCurrentChannel(
|
||||
int32 channel);
|
||||
int32 CurrentChannel() const;
|
||||
|
||||
virtual int32 CountChannels() const;
|
||||
virtual int32 MaxChannelCount() const = 0;
|
||||
virtual status_t SetChannelCount(
|
||||
int32 channel_count);
|
||||
int32 ValueFor(
|
||||
int32 channel) const;
|
||||
virtual int32 GetValues(
|
||||
int32 * out_values,
|
||||
int32 from_channel,
|
||||
int32 channel_count) const;
|
||||
status_t SetValueFor(
|
||||
int32 channel,
|
||||
int32 value);
|
||||
virtual status_t SetValues(
|
||||
int32 from_channel,
|
||||
int32 channel_count,
|
||||
const int32 * in_values);
|
||||
status_t SetAllValues(
|
||||
int32 values);
|
||||
status_t SetLimitsFor(
|
||||
int32 channel,
|
||||
int32 minimum,
|
||||
int32 maximum);
|
||||
status_t GetLimitsFor(
|
||||
int32 channel,
|
||||
int32 * minimum,
|
||||
int32 * maximum) const ;
|
||||
virtual status_t SetLimits(
|
||||
int32 from_channel,
|
||||
int32 channel_count,
|
||||
const int32 * minimum,
|
||||
const int32 * maximum);
|
||||
virtual status_t GetLimits(
|
||||
int32 from_channel,
|
||||
int32 channel_count,
|
||||
int32 * minimum,
|
||||
int32 * maximum) const;
|
||||
status_t SetAllLimits(
|
||||
int32 minimum,
|
||||
int32 maximum);
|
||||
|
||||
virtual status_t SetLimitLabels(
|
||||
const char * min_label,
|
||||
const char * max_label);
|
||||
const char * MinLimitLabel() const;
|
||||
const char * MaxLimitLabel() const;
|
||||
|
||||
private:
|
||||
|
||||
BMultiChannelControl( /* unimplemented */
|
||||
const BMultiChannelControl &);
|
||||
BMultiChannelControl & operator=( /* unimplemented */
|
||||
const BMultiChannelControl &);
|
||||
virtual status_t _Reserverd_MultiChannelControl_0(void *, ...);
|
||||
virtual status_t _Reserverd_MultiChannelControl_1(void *, ...);
|
||||
virtual status_t _Reserverd_MultiChannelControl_2(void *, ...);
|
||||
virtual status_t _Reserverd_MultiChannelControl_3(void *, ...);
|
||||
virtual status_t _Reserverd_MultiChannelControl_4(void *, ...);
|
||||
virtual status_t _Reserverd_MultiChannelControl_5(void *, ...);
|
||||
virtual status_t _Reserverd_MultiChannelControl_6(void *, ...);
|
||||
virtual status_t _Reserverd_MultiChannelControl_7(void *, ...);
|
||||
|
||||
protected:
|
||||
|
||||
inline int32 * const & MinLimitList() const;
|
||||
inline int32 * const & MaxLimitList() const;
|
||||
inline int32 * const & ValueList() const;
|
||||
|
||||
private:
|
||||
|
||||
int32 _m_channel_count;
|
||||
int32 _m_value_channel;
|
||||
int32 * _m_channel_min;
|
||||
int32 * _m_channel_max;
|
||||
int32 * _m_channel_val;
|
||||
char * _m_min_label;
|
||||
char * _m_max_label;
|
||||
|
||||
uint32 _reserved_[16];
|
||||
|
||||
};
|
||||
|
||||
inline int32 * const & BMultiChannelControl::MinLimitList() const
|
||||
{
|
||||
return _m_channel_min;
|
||||
}
|
||||
|
||||
inline int32 * const & BMultiChannelControl::MaxLimitList() const
|
||||
{
|
||||
return _m_channel_max;
|
||||
}
|
||||
|
||||
inline int32 * const & BMultiChannelControl::ValueList() const
|
||||
{
|
||||
return _m_channel_val;
|
||||
}
|
||||
|
||||
|
||||
#endif /* _MULTI_CHANNEL_CONTROL_H */
|
||||
|
95
headers/os/interface/OptionControl.h
Normal file
95
headers/os/interface/OptionControl.h
Normal file
@ -0,0 +1,95 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: OptionControl.h
|
||||
/
|
||||
/ Description: A BOptionControl is an abstract interface for BControls that select
|
||||
/ between a set of named values; the names are displayed to the user, but the
|
||||
/ corresponding values are returned in Value().
|
||||
/
|
||||
/ Copyright 1997-99, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#if !defined(_OPTION_CONTROL_H)
|
||||
#define _OPTION_CONTROL_H
|
||||
|
||||
#include <InterfaceDefs.h>
|
||||
#include <Control.h>
|
||||
|
||||
enum {
|
||||
B_OPTION_CONTROL_VALUE = '_BMV'
|
||||
};
|
||||
|
||||
|
||||
class BOptionControl :
|
||||
public BControl
|
||||
{
|
||||
public:
|
||||
|
||||
BOptionControl(
|
||||
BRect frame,
|
||||
const char * name,
|
||||
const char * label,
|
||||
BMessage * message,
|
||||
uint32 resize = B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
||||
uint32 flags = B_WILL_DRAW);
|
||||
virtual ~BOptionControl();
|
||||
|
||||
virtual void MessageReceived(
|
||||
BMessage * message);
|
||||
|
||||
status_t AddOption(
|
||||
const char * name,
|
||||
int32 value);
|
||||
virtual bool GetOptionAt(
|
||||
int32 index,
|
||||
const char ** out_name,
|
||||
int32 * out_value) = 0;
|
||||
virtual void RemoveOptionAt(
|
||||
int32 index) = 0;
|
||||
virtual int32 CountOptions() const = 0;
|
||||
virtual status_t AddOptionAt(
|
||||
const char * name,
|
||||
int32 value,
|
||||
int32 index) = 0;
|
||||
virtual int32 SelectedOption( // index >= 0 returned directly
|
||||
const char ** name = 0,
|
||||
int32 * value = 0) const = 0;
|
||||
|
||||
virtual status_t SelectOptionFor(
|
||||
int32 value);
|
||||
virtual status_t SelectOptionFor(
|
||||
const char *name);
|
||||
protected:
|
||||
|
||||
BMessage * MakeValueMessage(
|
||||
int32 value);
|
||||
|
||||
private:
|
||||
|
||||
BOptionControl(); /* private unimplemented */
|
||||
BOptionControl(
|
||||
const BOptionControl & clone);
|
||||
BOptionControl & operator=(
|
||||
const BOptionControl & clone);
|
||||
|
||||
/* Mmmh, stuffing! */
|
||||
virtual status_t _Reserved_OptionControl_0(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_1(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_2(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_3(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_4(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_5(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_6(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_7(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_8(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_9(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_10(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_11(void *, ...);
|
||||
|
||||
uint32 _reserved_selection_control_[8];
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif /* _OPTION_CONTROL_H */
|
105
headers/os/interface/OptionPopUp.h
Normal file
105
headers/os/interface/OptionPopUp.h
Normal file
@ -0,0 +1,105 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: OptionPopUp.h
|
||||
/
|
||||
/ Description: A BOptionPopUp is a BControl that has a popup menu.
|
||||
/
|
||||
/ Copyright 1997-99, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
|
||||
#if !defined(_OPTION_POP_UP_H)
|
||||
#define _OPTION_POP_UP_H
|
||||
|
||||
#include <OptionControl.h>
|
||||
|
||||
|
||||
class BMenuField;
|
||||
|
||||
|
||||
|
||||
class BOptionPopUp :
|
||||
public BOptionControl
|
||||
{
|
||||
public:
|
||||
BOptionPopUp(
|
||||
BRect frame,
|
||||
const char * name,
|
||||
const char * label,
|
||||
BMessage * message,
|
||||
uint32 resize = B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
||||
uint32 flags = B_WILL_DRAW);
|
||||
BOptionPopUp(
|
||||
BRect frame,
|
||||
const char * name,
|
||||
const char * label,
|
||||
BMessage * message,
|
||||
bool fixed,
|
||||
uint32 resize = B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
||||
uint32 flags = B_WILL_DRAW);
|
||||
~BOptionPopUp();
|
||||
|
||||
BMenuField * MenuField();
|
||||
|
||||
virtual bool GetOptionAt(
|
||||
int32 index,
|
||||
const char ** out_name,
|
||||
int32 * out_value);
|
||||
virtual void RemoveOptionAt(
|
||||
int32 index);
|
||||
virtual int32 CountOptions() const;
|
||||
virtual status_t AddOptionAt(
|
||||
const char * name,
|
||||
int32 value,
|
||||
int32 index);
|
||||
|
||||
virtual void AllAttached();
|
||||
virtual void MessageReceived(
|
||||
BMessage * message);
|
||||
virtual void SetLabel(
|
||||
const char *text);
|
||||
virtual void SetValue(
|
||||
int32 value);
|
||||
virtual void SetEnabled(
|
||||
bool on);
|
||||
virtual void GetPreferredSize(
|
||||
float *width,
|
||||
float *height);
|
||||
virtual void ResizeToPreferred();
|
||||
virtual int32 SelectedOption(
|
||||
const char ** outName = 0,
|
||||
int32 * outValue = 0) const;
|
||||
private:
|
||||
|
||||
BOptionPopUp(); /* private unimplemented */
|
||||
BOptionPopUp(
|
||||
const BOptionPopUp & clone);
|
||||
BOptionPopUp & operator=(
|
||||
const BOptionPopUp & clone);
|
||||
|
||||
/* Mmmh, stuffing! */
|
||||
virtual status_t _Reserved_OptionControl_0(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_1(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_2(void *, ...);
|
||||
virtual status_t _Reserved_OptionControl_3(void *, ...);
|
||||
/* Mmmh, stuffing! */
|
||||
virtual status_t _Reserved_OptionPopUp_0(void *, ...);
|
||||
virtual status_t _Reserved_OptionPopUp_1(void *, ...);
|
||||
virtual status_t _Reserved_OptionPopUp_2(void *, ...);
|
||||
virtual status_t _Reserved_OptionPopUp_3(void *, ...);
|
||||
virtual status_t _Reserved_OptionPopUp_4(void *, ...);
|
||||
virtual status_t _Reserved_OptionPopUp_5(void *, ...);
|
||||
virtual status_t _Reserved_OptionPopUp_6(void *, ...);
|
||||
virtual status_t _Reserved_OptionPopUp_7(void *, ...);
|
||||
|
||||
|
||||
BMenuField * _mField;
|
||||
uint32 _reserved_menu_control_[8];
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* _OPTION_POP_UP_H */
|
156
headers/os/interface/OutlineListView.h
Normal file
156
headers/os/interface/OutlineListView.h
Normal file
@ -0,0 +1,156 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: OutlineListView.h
|
||||
/
|
||||
/ Description: BOutlineListView represents a "nestable" list view.
|
||||
/
|
||||
/ Copyright 1997-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _OUTLINE_LIST_VIEW_H
|
||||
#define _OUTLINE_LIST_VIEW_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <ListView.h>
|
||||
|
||||
class BListItem;
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BOutlineListView class -----------------------------------*/
|
||||
|
||||
class BOutlineListView : public BListView {
|
||||
public:
|
||||
BOutlineListView(BRect frame,
|
||||
const char * name,
|
||||
list_view_type type = B_SINGLE_SELECTION_LIST,
|
||||
uint32 resizeMask = B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
||||
uint32 flags = B_WILL_DRAW | B_FRAME_EVENTS
|
||||
| B_NAVIGABLE);
|
||||
BOutlineListView(BMessage *data);
|
||||
virtual ~BOutlineListView();
|
||||
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
|
||||
virtual void MouseDown(BPoint where);
|
||||
virtual void KeyDown(const char *bytes, int32 numBytes);
|
||||
virtual void FrameMoved(BPoint new_position);
|
||||
virtual void FrameResized(float new_width, float new_height);
|
||||
virtual void MouseUp(BPoint where);
|
||||
|
||||
virtual bool AddUnder(BListItem *item, BListItem *underItem);
|
||||
|
||||
virtual bool AddItem(BListItem *item);
|
||||
virtual bool AddItem(BListItem *item, int32 fullListIndex);
|
||||
virtual bool AddList(BList *newItems);
|
||||
virtual bool AddList(BList *newItems, int32 fullListIndex);
|
||||
|
||||
virtual bool RemoveItem(BListItem *item);
|
||||
virtual BListItem *RemoveItem(int32 fullListIndex);
|
||||
virtual bool RemoveItems(int32 fullListIndex, int32 count);
|
||||
|
||||
|
||||
/* The following calls operator on the full outlinelist */
|
||||
BListItem *FullListItemAt(int32 fullListIndex) const;
|
||||
int32 FullListIndexOf(BPoint point) const;
|
||||
int32 FullListIndexOf(BListItem *item) const;
|
||||
BListItem *FullListFirstItem() const;
|
||||
BListItem *FullListLastItem() const;
|
||||
bool FullListHasItem(BListItem *item) const;
|
||||
int32 FullListCountItems() const;
|
||||
int32 FullListCurrentSelection(int32 index = 0) const;
|
||||
virtual void MakeEmpty();
|
||||
bool FullListIsEmpty() const;
|
||||
void FullListDoForEach(bool (*func)(BListItem *));
|
||||
void FullListDoForEach(bool (*func)(BListItem *, void *), void*);
|
||||
|
||||
BListItem *Superitem(const BListItem *item);
|
||||
|
||||
void Expand(BListItem *item);
|
||||
void Collapse(BListItem *item);
|
||||
|
||||
bool IsExpanded(int32 fullListIndex);
|
||||
|
||||
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
|
||||
virtual void ResizeToPreferred();
|
||||
virtual void GetPreferredSize(float *width, float *height);
|
||||
virtual void MakeFocus(bool state = true);
|
||||
virtual void AllAttached();
|
||||
virtual void AllDetached();
|
||||
virtual void DetachedFromWindow();
|
||||
|
||||
|
||||
|
||||
void FullListSortItems(int (*compareFunc)(const BListItem *,
|
||||
const BListItem *));
|
||||
void SortItemsUnder(BListItem *underItem,
|
||||
bool oneLevelOnly,
|
||||
int (*compareFunc)(const BListItem *,
|
||||
const BListItem*));
|
||||
int32 CountItemsUnder(BListItem *under, bool oneLevelOnly) const;
|
||||
BListItem *EachItemUnder(BListItem *underItem,
|
||||
bool oneLevelOnly,
|
||||
BListItem *(*eachFunc)(BListItem *, void *),
|
||||
void *);
|
||||
BListItem *ItemUnderAt(BListItem *underItem,
|
||||
bool oneLevelOnly,
|
||||
int32 index) const;
|
||||
|
||||
protected:
|
||||
|
||||
virtual bool DoMiscellaneous(MiscCode code, MiscData * data);
|
||||
virtual void MessageReceived(BMessage *);
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
private:
|
||||
virtual void _ReservedOutlineListView1();
|
||||
virtual void _ReservedOutlineListView2();
|
||||
virtual void _ReservedOutlineListView3();
|
||||
virtual void _ReservedOutlineListView4();
|
||||
|
||||
typedef BListView _inherited;
|
||||
|
||||
int32 FullListIndex(int32 index) const;
|
||||
int32 ListViewIndex(int32 index) const;
|
||||
|
||||
#if !_PR3_COMPATIBLE_
|
||||
protected:
|
||||
#endif
|
||||
virtual void ExpandOrCollapse(BListItem *underItem, bool expand);
|
||||
|
||||
private:
|
||||
|
||||
virtual BRect LatchRect(BRect itemRect, int32 level) const;
|
||||
virtual void DrawLatch(BRect itemRect, int32 level, bool collapsed,
|
||||
bool highlighted, bool misTracked);
|
||||
virtual void DrawItem(BListItem *i, BRect cRect, bool complete = false);
|
||||
|
||||
BListItem *RemoveCommon(int32 fullListIndex);
|
||||
BListItem *RemoveOne(int32 fullListIndex);
|
||||
|
||||
static void TrackInLatchItem(void *);
|
||||
static void TrackOutLatchItem(void *);
|
||||
|
||||
bool OutlineSwapItems(int32 a, int32 b);
|
||||
bool OutlineMoveItem(int32 from, int32 to);
|
||||
bool OutlineReplaceItem(int32 index, BListItem *item);
|
||||
void CommonMoveItems(int32 from, int32 count, int32 to);
|
||||
BListItem *SuperitemForIndex(int32 fullListIndex, int32 level);
|
||||
int32 FindPreviousVisibleIndex(int32 fullListIndex);
|
||||
|
||||
BList fullList;
|
||||
uint32 _reserved[2];
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------*/
|
||||
|
||||
#endif /* _OUTLINE_LIST_VIEW_H */
|
81
headers/os/interface/Picture.h
Normal file
81
headers/os/interface/Picture.h
Normal file
@ -0,0 +1,81 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: Picture.h
|
||||
/
|
||||
/ Description: BPicture records a series of drawing instructions that can
|
||||
/ be "replayed" later.
|
||||
/
|
||||
/ Copyright 1995-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _PICTURE_H
|
||||
#define _PICTURE_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <InterfaceDefs.h>
|
||||
#include <Rect.h>
|
||||
#include <Archivable.h>
|
||||
|
||||
class BView;
|
||||
struct _BPictureExtent_;
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BPicture class -------------------------------------------*/
|
||||
|
||||
class BPicture : public BArchivable {
|
||||
public:
|
||||
BPicture();
|
||||
BPicture(const BPicture &original);
|
||||
BPicture(BMessage *data);
|
||||
virtual ~BPicture();
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
|
||||
status_t Play(void **callBackTable,
|
||||
int32 tableEntries,
|
||||
void *userData);
|
||||
|
||||
status_t Flatten(BDataIO *stream);
|
||||
status_t Unflatten(BDataIO *stream);
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
private:
|
||||
|
||||
friend class BWindow;
|
||||
friend class BView;
|
||||
friend class BPrintJob;
|
||||
|
||||
virtual void _ReservedPicture1();
|
||||
virtual void _ReservedPicture2();
|
||||
virtual void _ReservedPicture3();
|
||||
|
||||
BPicture &operator=(const BPicture &);
|
||||
|
||||
void init_data();
|
||||
void import_data(const void *data, int32 size, BPicture **subs, int32 subCount);
|
||||
void import_old_data(const void *data, int32 size);
|
||||
void set_token(int32 token);
|
||||
bool assert_local_copy();
|
||||
bool assert_old_local_copy();
|
||||
bool assert_server_copy();
|
||||
|
||||
/**Deprecated API**/
|
||||
BPicture(const void *data, int32 size);
|
||||
const void *Data() const;
|
||||
int32 DataSize() const;
|
||||
|
||||
void usurp(BPicture *lameDuck);
|
||||
BPicture *step_down();
|
||||
|
||||
int32 token;
|
||||
_BPictureExtent_ *extent;
|
||||
BPicture *usurped;
|
||||
uint32 _reserved[3];
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _PICTURE_H */
|
105
headers/os/interface/PopUpMenu.h
Normal file
105
headers/os/interface/PopUpMenu.h
Normal file
@ -0,0 +1,105 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: PopUpMenu.h
|
||||
/
|
||||
/ Description: BPopUpMenu represents a menu that pops up when you
|
||||
/ activate it.
|
||||
/
|
||||
/ Copyright 1994-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _POP_UP_MENU_H
|
||||
#define _POP_UP_MENU_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <Menu.h>
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BPopUpMenu class -----------------------------------------*/
|
||||
|
||||
class BPopUpMenu : public BMenu
|
||||
{
|
||||
public:
|
||||
BPopUpMenu( const char *title,
|
||||
bool radioMode = true,
|
||||
bool autoRename = true,
|
||||
menu_layout layout = B_ITEMS_IN_COLUMN
|
||||
);
|
||||
BPopUpMenu(BMessage *data);
|
||||
virtual ~BPopUpMenu();
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
|
||||
BMenuItem *Go(BPoint where,
|
||||
bool delivers_message = false,
|
||||
bool open_anyway = false,
|
||||
bool async = false);
|
||||
BMenuItem *Go(BPoint where,
|
||||
bool delivers_message,
|
||||
bool open_anyway,
|
||||
BRect click_to_open,
|
||||
bool async = false);
|
||||
|
||||
virtual void MessageReceived(BMessage *msg);
|
||||
virtual void MouseDown(BPoint pt);
|
||||
virtual void MouseUp(BPoint pt);
|
||||
virtual void MouseMoved(BPoint pt, uint32 code, const BMessage *msg);
|
||||
virtual void AttachedToWindow();
|
||||
virtual void DetachedFromWindow();
|
||||
virtual void FrameMoved(BPoint new_position);
|
||||
virtual void FrameResized(float new_width, float new_height);
|
||||
|
||||
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
|
||||
virtual void ResizeToPreferred();
|
||||
virtual void GetPreferredSize(float *width, float *height);
|
||||
virtual void MakeFocus(bool state = true);
|
||||
virtual void AllAttached();
|
||||
virtual void AllDetached();
|
||||
|
||||
void SetAsyncAutoDestruct(bool state);
|
||||
bool AsyncAutoDestruct() const;
|
||||
|
||||
protected:
|
||||
virtual BPoint ScreenLocation();
|
||||
|
||||
virtual void _ReservedPopUpMenu1();
|
||||
virtual void _ReservedPopUpMenu2();
|
||||
virtual void _ReservedPopUpMenu3();
|
||||
|
||||
BPopUpMenu &operator=(const BPopUpMenu &);
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
private:
|
||||
BMenuItem *_go( BPoint where,
|
||||
bool autoInvoke,
|
||||
bool start_opened,
|
||||
BRect *special_rect,
|
||||
bool async);
|
||||
static int32 entry(void *);
|
||||
BMenuItem *start_track(BPoint where,
|
||||
bool autoInvoke,
|
||||
bool start_opened,
|
||||
BRect *special_rect);
|
||||
|
||||
BPoint fWhere;
|
||||
bool fUseWhere;
|
||||
bool fAutoDestruct;
|
||||
bool _fUnusedBool1;
|
||||
bool _fUnusedBool2;
|
||||
thread_id fTrackThread;
|
||||
uint32 _reserved[3];
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _POP_UP_MENU_H */
|
106
headers/os/interface/Region.h
Normal file
106
headers/os/interface/Region.h
Normal file
@ -0,0 +1,106 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: Region.h
|
||||
/
|
||||
/ Description: BRegion represents an area that's composed of individual
|
||||
/ rectangles.
|
||||
/
|
||||
/ Copyright 1992-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _REGION_H
|
||||
#define _REGION_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <Rect.h>
|
||||
|
||||
/* Integer rect used to define a cliping rectangle. All bounds are included */
|
||||
/* Moved from DirectWindow.h */
|
||||
typedef struct {
|
||||
int32 left;
|
||||
int32 top;
|
||||
int32 right;
|
||||
int32 bottom;
|
||||
} clipping_rect;
|
||||
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BRegion class --------------------------------------------*/
|
||||
|
||||
class BRegion {
|
||||
|
||||
public:
|
||||
BRegion();
|
||||
BRegion(const BRegion ®ion);
|
||||
BRegion(const BRect rect);
|
||||
virtual ~BRegion();
|
||||
|
||||
BRegion &operator=(const BRegion &from);
|
||||
|
||||
BRect Frame() const;
|
||||
clipping_rect FrameInt() const;
|
||||
BRect RectAt(int32 index);
|
||||
clipping_rect RectAtInt(int32 index);
|
||||
int32 CountRects();
|
||||
void Set(BRect newBounds);
|
||||
void Set(clipping_rect newBounds);
|
||||
bool Intersects(BRect r) const;
|
||||
bool Intersects(clipping_rect r) const;
|
||||
bool Contains(BPoint pt) const;
|
||||
bool Contains(int32 x, int32 y);
|
||||
void PrintToStream() const;
|
||||
void OffsetBy(int32 dh, int32 dv);
|
||||
void MakeEmpty();
|
||||
void Include(BRect r);
|
||||
void Include(clipping_rect r);
|
||||
void Include(const BRegion*);
|
||||
void Exclude(BRect r);
|
||||
void Exclude(clipping_rect r);
|
||||
void Exclude(const BRegion*);
|
||||
void IntersectWith(const BRegion*);
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
|
||||
private:
|
||||
|
||||
friend class BView;
|
||||
friend class BDirectWindow;
|
||||
friend void zero_region(BRegion *a_region);
|
||||
friend void clear_region(BRegion *a_region);
|
||||
friend void cleanup_region_1(BRegion *region_in);
|
||||
friend void cleanup_region(BRegion *region_in);
|
||||
friend void sort_rects(clipping_rect *rects, long count);
|
||||
friend void sort_trans(long *lptr1, long *lptr2, long count);
|
||||
friend void cleanup_region_horizontal(BRegion *region_in);
|
||||
friend void copy_region(BRegion *src_region, BRegion *dst_region);
|
||||
friend void copy_region_n(BRegion*, BRegion*, long);
|
||||
friend void and_region_complex(BRegion*, BRegion*, BRegion*);
|
||||
friend void and_region_1_to_n(BRegion*, BRegion*, BRegion*);
|
||||
friend void and_region(BRegion*, BRegion*, BRegion*);
|
||||
friend void append_region(BRegion*, BRegion*, BRegion*);
|
||||
friend void r_or(long, long, BRegion*, BRegion*, BRegion*, long*, long *);
|
||||
friend void or_region_complex(BRegion*, BRegion*, BRegion*);
|
||||
friend void or_region_1_to_n(BRegion*, BRegion*, BRegion*);
|
||||
friend void or_region_no_x(BRegion*, BRegion*, BRegion*);
|
||||
friend void or_region(BRegion*, BRegion*, BRegion*);
|
||||
friend void sub(long, long, BRegion*, BRegion*, BRegion*, long*, long*);
|
||||
friend void sub_region_complex(BRegion*, BRegion*, BRegion*);
|
||||
friend void r_sub(long , long, BRegion*, BRegion*, BRegion*, long*, long*);
|
||||
friend void sub_region(BRegion*, BRegion*, BRegion*);
|
||||
|
||||
void _AddRect(clipping_rect r);
|
||||
void set_size(long new_size);
|
||||
long find_small_bottom(long y1, long y2, long *hint, long *where);
|
||||
|
||||
private:
|
||||
long count;
|
||||
long data_size;
|
||||
clipping_rect bound;
|
||||
clipping_rect *data;
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _REGION_H */
|
101
headers/os/interface/Screen.h
Normal file
101
headers/os/interface/Screen.h
Normal file
@ -0,0 +1,101 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: Screen.h
|
||||
/
|
||||
/ Description: BScreen provides information about a screen's current
|
||||
/ display settings. It also lets you set the Desktop color.
|
||||
/
|
||||
/ Copyright 1993-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _SCREEN_H
|
||||
#define _SCREEN_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <Accelerant.h>
|
||||
#include <GraphicsDefs.h>
|
||||
#include <Rect.h>
|
||||
#include <OS.h>
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BScreen structures and declarations ----------------------*/
|
||||
|
||||
class BWindow;
|
||||
class BPrivateScreen;
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BScreen class --------------------------------------------*/
|
||||
|
||||
class BScreen {
|
||||
public:
|
||||
BScreen( screen_id id=B_MAIN_SCREEN_ID );
|
||||
BScreen( BWindow *win );
|
||||
~BScreen();
|
||||
|
||||
bool IsValid();
|
||||
status_t SetToNext();
|
||||
|
||||
color_space ColorSpace();
|
||||
BRect Frame();
|
||||
screen_id ID();
|
||||
|
||||
status_t WaitForRetrace();
|
||||
status_t WaitForRetrace(bigtime_t timeout);
|
||||
|
||||
uint8 IndexForColor( rgb_color rgb );
|
||||
uint8 IndexForColor( uint8 r, uint8 g, uint8 b, uint8 a=255 );
|
||||
rgb_color ColorForIndex( const uint8 index );
|
||||
uint8 InvertIndex( uint8 index );
|
||||
|
||||
const color_map* ColorMap();
|
||||
|
||||
status_t GetBitmap( BBitmap **screen_shot,
|
||||
bool draw_cursor = true,
|
||||
BRect *bound = NULL);
|
||||
status_t ReadBitmap( BBitmap *buffer,
|
||||
bool draw_cursor = true,
|
||||
BRect *bound = NULL);
|
||||
|
||||
rgb_color DesktopColor();
|
||||
rgb_color DesktopColor(uint32 index);
|
||||
void SetDesktopColor( rgb_color rgb, bool stick=true );
|
||||
void SetDesktopColor( rgb_color rgb, uint32 index, bool stick=true );
|
||||
|
||||
status_t ProposeMode(display_mode *target, const display_mode *low, const display_mode *high);
|
||||
status_t GetModeList(display_mode **mode_list, uint32 *count);
|
||||
status_t GetMode(display_mode *mode);
|
||||
status_t GetMode(uint32 workspace, display_mode *mode);
|
||||
status_t SetMode(display_mode *mode, bool makeDefault = false);
|
||||
status_t SetMode(uint32 workspace, display_mode *mode, bool makeDefault = false);
|
||||
status_t GetDeviceInfo(accelerant_device_info *adi);
|
||||
status_t GetPixelClockLimits(display_mode *mode, uint32 *low, uint32 *high);
|
||||
status_t GetTimingConstraints(display_timing_constraints *dtc);
|
||||
status_t SetDPMS(uint32 dpms_state);
|
||||
uint32 DPMSState(void);
|
||||
uint32 DPMSCapabilites(void);
|
||||
|
||||
BPrivateScreen* private_screen();
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
private:
|
||||
status_t ProposeDisplayMode(display_mode *target, const display_mode *low, const display_mode *high);
|
||||
BScreen &operator=(const BScreen &screen);
|
||||
BScreen(const BScreen &screen);
|
||||
void* BaseAddress();
|
||||
uint32 BytesPerRow();
|
||||
|
||||
BPrivateScreen *screen;
|
||||
};
|
||||
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- inline definitions ---------------------------------------*/
|
||||
|
||||
inline uint8 BScreen::IndexForColor( rgb_color rgb )
|
||||
{ return IndexForColor(rgb.red,rgb.green,rgb.blue,rgb.alpha); }
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _SCREEN_H */
|
110
headers/os/interface/ScrollBar.h
Normal file
110
headers/os/interface/ScrollBar.h
Normal file
@ -0,0 +1,110 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: ScrollBar.h
|
||||
/
|
||||
/ Description: BScrollBar displays and controls a scrollbar.
|
||||
/
|
||||
/ Copyright 1992-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _SCROLL_BAR_H
|
||||
#define _SCROLL_BAR_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <View.h>
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- scroll bar defines ---------------------------------------*/
|
||||
|
||||
#define B_V_SCROLL_BAR_WIDTH 14.0
|
||||
#define B_H_SCROLL_BAR_HEIGHT 14.0
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BScrollBar class -----------------------------------------*/
|
||||
|
||||
class BScrollBar : public BView {
|
||||
|
||||
public:
|
||||
BScrollBar( BRect frame,
|
||||
const char *name,
|
||||
BView *target,
|
||||
float min,
|
||||
float max,
|
||||
orientation direction);
|
||||
BScrollBar(BMessage *data);
|
||||
virtual ~BScrollBar();
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
|
||||
virtual void AttachedToWindow();
|
||||
void SetValue(float value);
|
||||
float Value() const;
|
||||
void SetProportion(float);
|
||||
float Proportion() const;
|
||||
virtual void ValueChanged(float newValue);
|
||||
|
||||
void SetRange(float min, float max);
|
||||
void GetRange(float *min, float *max) const;
|
||||
void SetSteps(float smallStep, float largeStep);
|
||||
void GetSteps(float *smallStep, float *largeStep) const;
|
||||
void SetTarget(BView *target);
|
||||
void SetTarget(const char *targetName);
|
||||
BView *Target() const;
|
||||
orientation Orientation() const;
|
||||
|
||||
virtual void MessageReceived(BMessage *msg);
|
||||
virtual void MouseDown(BPoint pt);
|
||||
virtual void MouseUp(BPoint pt);
|
||||
virtual void MouseMoved(BPoint pt, uint32 code, const BMessage *msg);
|
||||
virtual void DetachedFromWindow();
|
||||
virtual void Draw(BRect updateRect);
|
||||
virtual void FrameMoved(BPoint new_position);
|
||||
virtual void FrameResized(float new_width, float new_height);
|
||||
|
||||
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
|
||||
virtual void ResizeToPreferred();
|
||||
virtual void GetPreferredSize(float *width, float *height);
|
||||
virtual void MakeFocus(bool state = true);
|
||||
virtual void AllAttached();
|
||||
virtual void AllDetached();
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
|
||||
private:
|
||||
|
||||
friend class BWindow;
|
||||
friend class BApplication;
|
||||
|
||||
virtual void _ReservedScrollBar1();
|
||||
virtual void _ReservedScrollBar2();
|
||||
virtual void _ReservedScrollBar3();
|
||||
virtual void _ReservedScrollBar4();
|
||||
|
||||
BScrollBar &operator=(const BScrollBar &);
|
||||
|
||||
void InitObject(float min, float max, orientation o, BView *t);
|
||||
float fMin;
|
||||
float fMax;
|
||||
float fSmallStep;
|
||||
float fLargeStep;
|
||||
float fValue;
|
||||
float fProportion;
|
||||
BView* fTarget;
|
||||
orientation fOrientation;
|
||||
char *fTargetName;
|
||||
uint32 _reserved[4];
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _SCROLL_BAR_H */
|
106
headers/os/interface/ScrollView.h
Normal file
106
headers/os/interface/ScrollView.h
Normal file
@ -0,0 +1,106 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: ScrollView.h
|
||||
/
|
||||
/ Description: BScrollView provides scrolling machinery for its contents
|
||||
/ (where the "contents" is some other view).
|
||||
/
|
||||
/ Copyright 1993-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _SCROLL_VIEW_H
|
||||
#define _SCROLL_VIEW_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <ScrollBar.h> /* For convenience */
|
||||
#include <View.h>
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BScrollView class ----------------------------------------*/
|
||||
|
||||
class BScrollView : public BView {
|
||||
|
||||
public:
|
||||
BScrollView(const char *name,
|
||||
BView *target,
|
||||
uint32 resizeMask = B_FOLLOW_LEFT |
|
||||
B_FOLLOW_TOP,
|
||||
uint32 flags = 0,
|
||||
bool horizontal = false,
|
||||
bool vertical = false,
|
||||
border_style border = B_FANCY_BORDER);
|
||||
BScrollView(BMessage *data);
|
||||
virtual ~BScrollView();
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
|
||||
virtual void Draw(BRect updateRect);
|
||||
virtual void AttachedToWindow();
|
||||
BScrollBar *ScrollBar(orientation flag) const;
|
||||
|
||||
virtual void SetBorder(border_style border);
|
||||
border_style Border() const;
|
||||
|
||||
virtual status_t SetBorderHighlighted(bool state);
|
||||
bool IsBorderHighlighted() const;
|
||||
|
||||
void SetTarget(BView *new_target);
|
||||
BView *Target() const;
|
||||
|
||||
virtual void MessageReceived(BMessage *msg);
|
||||
virtual void MouseDown(BPoint pt);
|
||||
virtual void WindowActivated(bool state);
|
||||
virtual void MouseUp(BPoint pt);
|
||||
virtual void MouseMoved(BPoint pt, uint32 code, const BMessage *msg);
|
||||
virtual void DetachedFromWindow();
|
||||
virtual void AllAttached();
|
||||
virtual void AllDetached();
|
||||
virtual void FrameMoved(BPoint new_position);
|
||||
virtual void FrameResized(float new_width, float new_height);
|
||||
|
||||
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
|
||||
virtual void ResizeToPreferred();
|
||||
virtual void GetPreferredSize(float *width, float *height);
|
||||
virtual void MakeFocus(bool state = true);
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
|
||||
private:
|
||||
|
||||
friend class BView;
|
||||
|
||||
virtual void _ReservedScrollView1();
|
||||
virtual void _ReservedScrollView2();
|
||||
virtual void _ReservedScrollView3();
|
||||
virtual void _ReservedScrollView4();
|
||||
|
||||
BScrollView &operator=(const BScrollView &);
|
||||
|
||||
static BRect CalcFrame(BView *, bool, bool, border_style);
|
||||
int32 ModFlags(int32, border_style);
|
||||
void InitObject();
|
||||
|
||||
BView *fTarget;
|
||||
BScrollBar *fHSB;
|
||||
BScrollBar *fVSB;
|
||||
border_style fBorder;
|
||||
uint16 fPrevWidth;
|
||||
uint16 fPrevHeight;
|
||||
|
||||
uint32 _reserved[3]; /* was 4 */
|
||||
|
||||
bool fHighlighted;
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _SCROLL_VIEW_H */
|
97
headers/os/interface/Shape.h
Normal file
97
headers/os/interface/Shape.h
Normal file
@ -0,0 +1,97 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: Shape.h
|
||||
/
|
||||
/ Description: BShape encapsulates a Postscript-style "path"
|
||||
/
|
||||
/ Copyright 1992-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _SHAPE_H
|
||||
#define _SHAPE_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <Archivable.h>
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BShapeIterator class -------------------------------------*/
|
||||
|
||||
class BShapeIterator {
|
||||
|
||||
public:
|
||||
BShapeIterator();
|
||||
virtual ~BShapeIterator();
|
||||
|
||||
virtual status_t IterateMoveTo(BPoint *point);
|
||||
virtual status_t IterateLineTo(int32 lineCount, BPoint *linePts);
|
||||
virtual status_t IterateBezierTo(int32 bezierCount, BPoint *bezierPts);
|
||||
virtual status_t IterateClose();
|
||||
|
||||
status_t Iterate(BShape *shape);
|
||||
|
||||
private:
|
||||
|
||||
virtual void _ReservedShapeIterator1();
|
||||
virtual void _ReservedShapeIterator2();
|
||||
virtual void _ReservedShapeIterator3();
|
||||
virtual void _ReservedShapeIterator4();
|
||||
|
||||
uint32 reserved[4];
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BShape class ---------------------------------------------*/
|
||||
|
||||
class BShape : public BArchivable {
|
||||
|
||||
public:
|
||||
BShape();
|
||||
BShape(const BShape ©From);
|
||||
BShape(BMessage *data);
|
||||
virtual ~BShape();
|
||||
|
||||
virtual status_t Archive(BMessage *into, bool deep = true) const;
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
|
||||
void Clear();
|
||||
BRect Bounds() const;
|
||||
|
||||
status_t AddShape(const BShape *other);
|
||||
|
||||
status_t MoveTo(BPoint point);
|
||||
status_t LineTo(BPoint linePoint);
|
||||
status_t BezierTo(BPoint controlPoints[3]);
|
||||
status_t Close();
|
||||
|
||||
/*----- Private or reserved ---------------*/
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
|
||||
private:
|
||||
|
||||
virtual void _ReservedShape1();
|
||||
virtual void _ReservedShape2();
|
||||
virtual void _ReservedShape3();
|
||||
virtual void _ReservedShape4();
|
||||
|
||||
friend BShapeIterator;
|
||||
friend class TPicture;
|
||||
friend BView;
|
||||
friend class BFont;
|
||||
void GetData(int32 *opCount, int32 *ptCount, uint32 **opList, BPoint **ptList);
|
||||
void SetData(int32 opCount, int32 ptCount, uint32 *opList, BPoint *ptList);
|
||||
void InitData();
|
||||
|
||||
uint32 fState;
|
||||
uint32 fBuildingOp;
|
||||
void * fPrivateData;
|
||||
uint32 reserved[4];
|
||||
|
||||
public:
|
||||
/*----- Deprecated ---------------*/
|
||||
BShape(BShape ©From);
|
||||
BRect Bounds();
|
||||
status_t AddShape(BShape *other);
|
||||
};
|
||||
|
||||
#endif
|
145
headers/os/interface/Shelf.h
Normal file
145
headers/os/interface/Shelf.h
Normal file
@ -0,0 +1,145 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: Shelf.h
|
||||
/
|
||||
/ Description: BShelf stores replicant views that are dropped onto it
|
||||
/
|
||||
/ Copyright 1996-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _SHELF_H
|
||||
#define _SHELF_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <Handler.h>
|
||||
#include <List.h>
|
||||
|
||||
class BDataIO;
|
||||
class BView;
|
||||
|
||||
class BEntry;
|
||||
extern "C" void _ReservedShelf1__6BShelfFv(BShelf *const, int32,
|
||||
const BMessage*, const BView*);
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BShelf class ---------------------------------------------*/
|
||||
|
||||
class BShelf : public BHandler {
|
||||
public:
|
||||
BShelf(BView *view,
|
||||
bool allow_drags = true,
|
||||
const char *shelf_type = NULL);
|
||||
BShelf(const entry_ref *ref,
|
||||
BView *view,
|
||||
bool allow_drags = true,
|
||||
const char *shelf_type = NULL);
|
||||
BShelf(BDataIO *stream,
|
||||
BView *view,
|
||||
bool allow_drags = true,
|
||||
const char *shelf_type = NULL);
|
||||
BShelf(BMessage *data);
|
||||
virtual ~BShelf();
|
||||
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
static BArchivable *Instantiate(BMessage *data);
|
||||
|
||||
virtual void MessageReceived(BMessage *msg);
|
||||
status_t Save();
|
||||
virtual void SetDirty(bool state);
|
||||
bool IsDirty() const;
|
||||
|
||||
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
bool AllowsDragging() const;
|
||||
void SetAllowsDragging(bool state);
|
||||
bool AllowsZombies() const;
|
||||
void SetAllowsZombies(bool state);
|
||||
bool DisplaysZombies() const;
|
||||
void SetDisplaysZombies(bool state);
|
||||
bool IsTypeEnforced() const;
|
||||
void SetTypeEnforced(bool state);
|
||||
|
||||
status_t SetSaveLocation(BDataIO *data_io);
|
||||
status_t SetSaveLocation(const entry_ref *ref);
|
||||
BDataIO *SaveLocation(entry_ref *ref) const;
|
||||
|
||||
status_t AddReplicant(BMessage *data, BPoint location);
|
||||
status_t DeleteReplicant(BView *replicant);
|
||||
status_t DeleteReplicant(BMessage *data);
|
||||
status_t DeleteReplicant(int32 index);
|
||||
int32 CountReplicants() const;
|
||||
BMessage *ReplicantAt(int32 index,
|
||||
BView **view = NULL,
|
||||
uint32 *uid = NULL,
|
||||
status_t *perr = NULL) const;
|
||||
int32 IndexOf(const BView *replicant_view) const;
|
||||
int32 IndexOf(const BMessage *archive) const;
|
||||
int32 IndexOf(uint32 id) const;
|
||||
|
||||
protected:
|
||||
virtual bool CanAcceptReplicantMessage(BMessage*) const;
|
||||
virtual bool CanAcceptReplicantView(BRect, BView*, BMessage*) const;
|
||||
virtual BPoint AdjustReplicantBy(BRect, BMessage*) const;
|
||||
|
||||
virtual void ReplicantDeleted(int32 index,
|
||||
const BMessage *archive,
|
||||
const BView *replicant);
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
private:
|
||||
friend class _TContainerViewFilter_;
|
||||
friend void _ReservedShelf1__6BShelfFv(BShelf *const, int32,
|
||||
const BMessage*, const BView*);
|
||||
|
||||
virtual void _ReservedShelf2();
|
||||
virtual void _ReservedShelf3();
|
||||
virtual void _ReservedShelf4();
|
||||
virtual void _ReservedShelf5();
|
||||
|
||||
#if !_PR3_COMPATIBLE_
|
||||
virtual void _ReservedShelf6();
|
||||
virtual void _ReservedShelf7();
|
||||
virtual void _ReservedShelf8();
|
||||
#endif
|
||||
BShelf(const BShelf&);
|
||||
BShelf &operator=(const BShelf &);
|
||||
|
||||
status_t _Archive(BMessage *data) const;
|
||||
void InitData(BEntry *entry,
|
||||
BDataIO *stream,
|
||||
BView *view,
|
||||
bool allow_drags);
|
||||
status_t RealAddReplicant(BMessage *data,
|
||||
BPoint *loc,
|
||||
uint32 uid);
|
||||
status_t GetProperty(BMessage *msg, BMessage *reply);
|
||||
|
||||
BView *fContainerView;
|
||||
BDataIO *fStream;
|
||||
BEntry *fEntry;
|
||||
BList fReplicants;
|
||||
_TContainerViewFilter_ *fFilter;
|
||||
uint32 fGenCount;
|
||||
bool fAllowDragging;
|
||||
bool fDirty;
|
||||
bool fDisplayZombies;
|
||||
bool fAllowZombies;
|
||||
bool fTypeEnforced;
|
||||
|
||||
uint32 _reserved[3]; /* was 5 */
|
||||
#if !_PR3_COMPATIBLE_
|
||||
uint32 _more_reserved[5];
|
||||
#endif
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _SHELF_H */
|
427
headers/os/interface/TextView.h
Normal file
427
headers/os/interface/TextView.h
Normal file
@ -0,0 +1,427 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: TextView.h
|
||||
/
|
||||
/ Description: BTextView displays and manages styled text.
|
||||
/
|
||||
/ Copyright 1993-98, Be Incorporated, All Rights Reserved
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _TEXTVIEW_H
|
||||
#define _TEXTVIEW_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <View.h>
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BTextView structures and definitions ---------------------*/
|
||||
|
||||
struct text_run {
|
||||
int32 offset; /* byte offset of first character of run*/
|
||||
BFont font; /* font of run*/
|
||||
rgb_color color; /* color of run*/
|
||||
};
|
||||
|
||||
struct text_run_array {
|
||||
int32 count; /* number of text runs*/
|
||||
text_run runs[1]; /* array of count number of runs*/
|
||||
};
|
||||
|
||||
enum undo_state {
|
||||
B_UNDO_UNAVAILABLE,
|
||||
B_UNDO_TYPING,
|
||||
B_UNDO_CUT,
|
||||
B_UNDO_PASTE,
|
||||
B_UNDO_CLEAR,
|
||||
B_UNDO_DROP
|
||||
};
|
||||
|
||||
|
||||
#if _PR2_COMPATIBLE_
|
||||
extern "C" void _ReservedTextView2__9BTextViewFv(BTextView *object,
|
||||
BMessage *drag,
|
||||
BBitmap **bitmap,
|
||||
BPoint *point,
|
||||
BHandler **handler);
|
||||
#endif
|
||||
|
||||
|
||||
class BBitmap;
|
||||
class BClipboard;
|
||||
class BFile;
|
||||
class BList;
|
||||
class _BTextGapBuffer_;
|
||||
class _BLineBuffer_;
|
||||
class _BStyleBuffer_;
|
||||
class _BWidthBuffer_;
|
||||
class _BUndoBuffer_;
|
||||
class _BInlineInput_;
|
||||
class _BTextTrackState_;
|
||||
class _BTextChangeResult_;
|
||||
|
||||
extern "C" status_t _init_interface_kit_();
|
||||
|
||||
/*----------------------------------------------------------------*/
|
||||
/*----- BTextView class ------------------------------------------*/
|
||||
|
||||
class BTextView : public BView {
|
||||
public:
|
||||
BTextView(BRect frame,
|
||||
const char *name,
|
||||
BRect textRect,
|
||||
uint32 resizeMask,
|
||||
uint32 flags = B_WILL_DRAW | B_PULSE_NEEDED);
|
||||
BTextView(BRect frame,
|
||||
const char *name,
|
||||
BRect textRect,
|
||||
const BFont *initialFont,
|
||||
const rgb_color *initialColor,
|
||||
uint32 resizeMask,
|
||||
uint32 flags);
|
||||
BTextView(BMessage *data);
|
||||
virtual ~BTextView();
|
||||
|
||||
static BArchivable* Instantiate(BMessage *data);
|
||||
virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||
|
||||
virtual void AttachedToWindow();
|
||||
virtual void DetachedFromWindow();
|
||||
virtual void Draw(BRect inRect);
|
||||
virtual void MouseDown(BPoint where);
|
||||
virtual void MouseUp(BPoint where);
|
||||
virtual void MouseMoved(BPoint where,
|
||||
uint32 code,
|
||||
const BMessage *message);
|
||||
virtual void WindowActivated(bool state);
|
||||
virtual void KeyDown(const char *bytes, int32 numBytes);
|
||||
virtual void Pulse();
|
||||
virtual void FrameResized(float width, float height);
|
||||
virtual void MakeFocus(bool focusState = true);
|
||||
virtual void MessageReceived(BMessage *message);
|
||||
virtual BHandler* ResolveSpecifier(BMessage *message,
|
||||
int32 index,
|
||||
BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property);
|
||||
virtual status_t GetSupportedSuites(BMessage *data);
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
|
||||
void SetText(const char *inText,
|
||||
const text_run_array *inRuns = NULL);
|
||||
void SetText(const char *inText,
|
||||
int32 inLength,
|
||||
const text_run_array *inRuns = NULL);
|
||||
void SetText(BFile *inFile,
|
||||
int32 startOffset,
|
||||
int32 inLength,
|
||||
const text_run_array *inRuns = NULL);
|
||||
|
||||
void Insert(const char *inText,
|
||||
const text_run_array *inRuns = NULL);
|
||||
void Insert(const char *inText,
|
||||
int32 inLength,
|
||||
const text_run_array *inRuns = NULL);
|
||||
void Insert(int32 startOffset,
|
||||
const char *inText,
|
||||
int32 inLength,
|
||||
const text_run_array *inRuns = NULL);
|
||||
|
||||
void Delete();
|
||||
void Delete(int32 startOffset, int32 endOffset);
|
||||
|
||||
const char* Text() const;
|
||||
int32 TextLength() const;
|
||||
void GetText(int32 offset,
|
||||
int32 length,
|
||||
char *buffer) const;
|
||||
uchar ByteAt(int32 offset) const;
|
||||
|
||||
int32 CountLines() const;
|
||||
int32 CurrentLine() const;
|
||||
void GoToLine(int32 lineNum);
|
||||
|
||||
virtual void Cut(BClipboard *clipboard);
|
||||
virtual void Copy(BClipboard *clipboard);
|
||||
virtual void Paste(BClipboard *clipboard);
|
||||
void Clear();
|
||||
|
||||
virtual bool AcceptsPaste(BClipboard *clipboard);
|
||||
virtual bool AcceptsDrop(const BMessage *inMessage);
|
||||
|
||||
virtual void Select(int32 startOffset, int32 endOffset);
|
||||
void SelectAll();
|
||||
void GetSelection(int32 *outStart, int32 *outEnd) const;
|
||||
|
||||
void SetFontAndColor(const BFont *inFont,
|
||||
uint32 inMode = B_FONT_ALL,
|
||||
const rgb_color *inColor = NULL);
|
||||
void SetFontAndColor(int32 startOffset,
|
||||
int32 endOffset,
|
||||
const BFont *inFont,
|
||||
uint32 inMode = B_FONT_ALL,
|
||||
const rgb_color *inColor = NULL);
|
||||
|
||||
void GetFontAndColor(int32 inOffset,
|
||||
BFont *outFont,
|
||||
rgb_color *outColor = NULL) const;
|
||||
void GetFontAndColor(BFont *outFont,
|
||||
uint32 *outMode,
|
||||
rgb_color *outColor = NULL,
|
||||
bool *outEqColor = NULL) const;
|
||||
|
||||
void SetRunArray(int32 startOffset,
|
||||
int32 endOffset,
|
||||
const text_run_array *inRuns);
|
||||
text_run_array* RunArray(int32 startOffset,
|
||||
int32 endOffset,
|
||||
int32 *outSize = NULL) const;
|
||||
|
||||
int32 LineAt(int32 offset) const;
|
||||
int32 LineAt(BPoint point) const;
|
||||
BPoint PointAt(int32 inOffset, float *outHeight = NULL) const;
|
||||
int32 OffsetAt(BPoint point) const;
|
||||
int32 OffsetAt(int32 line) const;
|
||||
|
||||
virtual void FindWord(int32 inOffset,
|
||||
int32 *outFromOffset,
|
||||
int32 *outToOffset);
|
||||
|
||||
virtual bool CanEndLine(int32 offset);
|
||||
|
||||
float LineWidth(int32 lineNum = 0) const;
|
||||
float LineHeight(int32 lineNum = 0) const;
|
||||
float TextHeight(int32 startLine, int32 endLine) const;
|
||||
|
||||
void GetTextRegion(int32 startOffset,
|
||||
int32 endOffset,
|
||||
BRegion *outRegion) const;
|
||||
|
||||
virtual void ScrollToOffset(int32 inOffset);
|
||||
void ScrollToSelection();
|
||||
|
||||
void Highlight(int32 startOffset, int32 endOffset);
|
||||
|
||||
void SetTextRect(BRect rect);
|
||||
BRect TextRect() const;
|
||||
void SetStylable(bool stylable);
|
||||
bool IsStylable() const;
|
||||
void SetTabWidth(float width);
|
||||
float TabWidth() const;
|
||||
void MakeSelectable(bool selectable = true);
|
||||
bool IsSelectable() const;
|
||||
void MakeEditable(bool editable = true);
|
||||
bool IsEditable() const;
|
||||
void SetWordWrap(bool wrap);
|
||||
bool DoesWordWrap() const;
|
||||
void SetMaxBytes(int32 max);
|
||||
int32 MaxBytes() const;
|
||||
void DisallowChar(uint32 aChar);
|
||||
void AllowChar(uint32 aChar);
|
||||
void SetAlignment(alignment flag);
|
||||
alignment Alignment() const;
|
||||
void SetAutoindent(bool state);
|
||||
bool DoesAutoindent() const;
|
||||
void SetColorSpace(color_space colors);
|
||||
color_space ColorSpace() const;
|
||||
void MakeResizable(bool resize, BView *resizeView = NULL);
|
||||
bool IsResizable() const;
|
||||
void SetDoesUndo(bool undo);
|
||||
bool DoesUndo() const;
|
||||
void HideTyping(bool enabled);
|
||||
bool IsTypingHidden(void) const;
|
||||
|
||||
virtual void ResizeToPreferred();
|
||||
virtual void GetPreferredSize(float *width, float *height);
|
||||
virtual void AllAttached();
|
||||
virtual void AllDetached();
|
||||
|
||||
static void* FlattenRunArray(const text_run_array *inArray,
|
||||
int32 *outSize = NULL);
|
||||
static text_run_array* UnflattenRunArray(const void *data,
|
||||
int32 *outSize = NULL);
|
||||
|
||||
protected:
|
||||
virtual void InsertText(const char *inText,
|
||||
int32 inLength,
|
||||
int32 inOffset,
|
||||
const text_run_array *inRuns);
|
||||
virtual void DeleteText(int32 fromOffset, int32 toOffset);
|
||||
|
||||
public:
|
||||
virtual void Undo(BClipboard *clipboard);
|
||||
undo_state UndoState(bool *isRedo) const;
|
||||
|
||||
protected:
|
||||
virtual void GetDragParameters(BMessage *drag,
|
||||
BBitmap **bitmap,
|
||||
BPoint *point,
|
||||
BHandler **handler);
|
||||
|
||||
/*----- Private or reserved -----------------------------------------*/
|
||||
private:
|
||||
friend status_t _init_interface_kit_();
|
||||
friend class _BTextTrackState_;
|
||||
|
||||
#if _PR2_COMPATIBLE_
|
||||
friend void _ReservedTextView2__9BTextViewFv(BTextView *object,
|
||||
BMessage *drag,
|
||||
BBitmap **bitmap,
|
||||
BPoint *point,
|
||||
BHandler **handler);
|
||||
#endif
|
||||
|
||||
virtual void _ReservedTextView3();
|
||||
virtual void _ReservedTextView4();
|
||||
virtual void _ReservedTextView5();
|
||||
virtual void _ReservedTextView6();
|
||||
virtual void _ReservedTextView7();
|
||||
virtual void _ReservedTextView8();
|
||||
|
||||
#if !_PR3_COMPATIBLE_
|
||||
virtual void _ReservedTextView9();
|
||||
virtual void _ReservedTextView10();
|
||||
virtual void _ReservedTextView11();
|
||||
virtual void _ReservedTextView12();
|
||||
#endif
|
||||
|
||||
void InitObject(BRect textRect,
|
||||
const BFont *initialFont,
|
||||
const rgb_color *initialColor);
|
||||
|
||||
void HandleBackspace();
|
||||
void HandleArrowKey(uint32 inArrowKey);
|
||||
void HandleDelete();
|
||||
void HandlePageKey(uint32 inPageKey);
|
||||
void HandleAlphaKey(const char *bytes, int32 numBytes);
|
||||
|
||||
void Refresh(int32 fromOffset,
|
||||
int32 toOffset,
|
||||
bool erase,
|
||||
bool scroll);
|
||||
void RecalLineBreaks(int32 *startLine, int32 *endLine);
|
||||
int32 FindLineBreak(int32 fromOffset,
|
||||
float *outAscent,
|
||||
float *outDescent,
|
||||
float *ioWidth);
|
||||
|
||||
float StyledWidth(int32 fromOffset,
|
||||
int32 length,
|
||||
float *outAscent = NULL,
|
||||
float *outDescent = NULL) const;
|
||||
float ActualTabWidth(float location) const;
|
||||
|
||||
void DoInsertText(const char *inText,
|
||||
int32 inLength,
|
||||
int32 inOffset,
|
||||
const text_run_array *inRuns,
|
||||
_BTextChangeResult_ *outResult);
|
||||
void DoDeleteText(int32 fromOffset,
|
||||
int32 toOffset,
|
||||
_BTextChangeResult_ *outResult);
|
||||
|
||||
void DrawLines(int32 startLine,
|
||||
int32 endLine,
|
||||
int32 startOffset = -1,
|
||||
bool erase = false);
|
||||
void DrawCaret(int32 offset);
|
||||
void InvertCaret();
|
||||
void DragCaret(int32 offset);
|
||||
|
||||
void StopMouseTracking();
|
||||
bool PerformMouseUp(BPoint where);
|
||||
bool PerformMouseMoved(BPoint where,
|
||||
uint32 code);
|
||||
|
||||
void TrackMouse(BPoint where, const BMessage *message,
|
||||
bool force = false);
|
||||
|
||||
void TrackDrag(BPoint where);
|
||||
void InitiateDrag();
|
||||
bool MessageDropped(BMessage *inMessage,
|
||||
BPoint where,
|
||||
BPoint offset);
|
||||
|
||||
void UpdateScrollbars();
|
||||
void AutoResize();
|
||||
|
||||
void NewOffscreen(float padding = 0.0F);
|
||||
void DeleteOffscreen();
|
||||
|
||||
void Activate();
|
||||
void Deactivate();
|
||||
|
||||
void NormalizeFont(BFont *font);
|
||||
|
||||
uint32 CharClassification(int32 offset) const;
|
||||
int32 NextInitialByte(int32 offset) const;
|
||||
int32 PreviousInitialByte(int32 offset) const;
|
||||
|
||||
bool GetProperty(BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property,
|
||||
BMessage *reply);
|
||||
bool SetProperty(BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property,
|
||||
BMessage *reply);
|
||||
bool CountProperties(BMessage *specifier,
|
||||
int32 form,
|
||||
const char *property,
|
||||
BMessage *reply);
|
||||
|
||||
void HandleInputMethodChanged(BMessage *message);
|
||||
void HandleInputMethodLocationRequest();
|
||||
void CancelInputMethod();
|
||||
|
||||
static void LockWidthBuffer();
|
||||
static void UnlockWidthBuffer();
|
||||
|
||||
_BTextGapBuffer_* fText;
|
||||
_BLineBuffer_* fLines;
|
||||
_BStyleBuffer_* fStyles;
|
||||
BRect fTextRect;
|
||||
int32 fSelStart;
|
||||
int32 fSelEnd;
|
||||
bool fCaretVisible;
|
||||
bigtime_t fCaretTime;
|
||||
int32 fClickOffset;
|
||||
int32 fClickCount;
|
||||
bigtime_t fClickTime;
|
||||
int32 fDragOffset;
|
||||
uint8 fCursor;
|
||||
bool fActive;
|
||||
bool fStylable;
|
||||
float fTabWidth;
|
||||
bool fSelectable;
|
||||
bool fEditable;
|
||||
bool fWrap;
|
||||
int32 fMaxBytes;
|
||||
BList* fDisallowedChars;
|
||||
alignment fAlignment;
|
||||
bool fAutoindent;
|
||||
BBitmap* fOffscreen;
|
||||
color_space fColorSpace;
|
||||
bool fResizable;
|
||||
BView* fContainerView;
|
||||
_BUndoBuffer_* fUndo; /* was _reserved[0] */
|
||||
_BInlineInput_* fInline; /* was _reserved[1] */
|
||||
BMessageRunner * fDragRunner; /* was _reserved[2] */
|
||||
BMessageRunner * fClickRunner; /* was _reserved[3] */
|
||||
BPoint fWhere;
|
||||
_BTextTrackState_* fTrackingMouse; /* was _reserved[6] */
|
||||
_BTextChangeResult_* fTextChange; /* was _reserved[7] */
|
||||
uint32 _reserved[1]; /* was 8 */
|
||||
#if !_PR3_COMPATIBLE_
|
||||
uint32 _more_reserved[8];
|
||||
#endif
|
||||
|
||||
static _BWidthBuffer_* sWidths;
|
||||
static sem_id sWidthSem;
|
||||
static int32 sWidthAtom;
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _TEXT_VIEW_H */
|
44
headers/os/kernel/fs_query.h
Normal file
44
headers/os/kernel/fs_query.h
Normal file
@ -0,0 +1,44 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: fs_query.h
|
||||
/
|
||||
/ Description: C interface to the BeOS file system query mechanism.
|
||||
/
|
||||
/ Copyright 1993-98, Be Incorporated, All Rights Reserved.
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _FS_QUERY_H
|
||||
#define _FS_QUERY_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <OS.h>
|
||||
#include <dirent.h>
|
||||
|
||||
|
||||
/* flags for fs_open_query() */
|
||||
|
||||
#define B_LIVE_QUERY 0x00000001
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
_IMPEXP_ROOT DIR *fs_open_query(dev_t device, const char *query, uint32 flags);
|
||||
_IMPEXP_ROOT DIR *fs_open_live_query(dev_t device, const char *query,
|
||||
uint32 flags, port_id port, int32 token);
|
||||
_IMPEXP_ROOT int fs_close_query(DIR *d);
|
||||
_IMPEXP_ROOT struct dirent *fs_read_query(DIR *d);
|
||||
|
||||
_IMPEXP_ROOT status_t get_path_for_dirent(struct dirent *dent, char *buf,
|
||||
size_t len);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* _FS_QUERY_H */
|
54
headers/os/kernel/scheduler.h
Normal file
54
headers/os/kernel/scheduler.h
Normal file
@ -0,0 +1,54 @@
|
||||
/*****************************************************************************
|
||||
|
||||
File: scheduler.h
|
||||
|
||||
Description: Scheduling inquiry functions
|
||||
|
||||
Copyright 1998-, Be Incorporated, All Rights Reserved.
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
|
||||
#if !defined(SCHEDULER_H)
|
||||
#define SCHEDULER_H
|
||||
|
||||
#include <SupportDefs.h>
|
||||
#include <OS.h>
|
||||
|
||||
/* To get a good thread priority, call suggest_thread_priority() with the following information: */
|
||||
/* 'what' is a bit mask describing what you're doing in the thread. */
|
||||
/* 'period' is how many times a second your thread needs to run (-1 if you're running continuously.) */
|
||||
/* 'jitter' is an estimate (in us) of how much that period can vary, as long as it stays centered on the average. */
|
||||
/* 'length' is how long (in us) you expect to run for each invocation. */
|
||||
/* "invocation" means, typically, receiving a message, dispatching it, and then returning to reading a message. */
|
||||
/* MANIPULATION means both filtering and compression/decompression. */
|
||||
/* PLAYBACK and RECORDING means threads feeding/reading ACTUAL HARDWARE ONLY. */
|
||||
/* 0 means don't care */
|
||||
enum be_task_flags { /* bitmasks for "what" */
|
||||
B_DEFAULT_MEDIA_PRIORITY = 0,
|
||||
B_OFFLINE_PROCESSING = 0x1,
|
||||
B_STATUS_RENDERING = 0x2, /* can also use this for "preview" type things */
|
||||
B_USER_INPUT_HANDLING = 0x4,
|
||||
B_LIVE_VIDEO_MANIPULATION = 0x8, /* non-live processing is OFFLINE_PROCESSING */
|
||||
B_VIDEO_PLAYBACK = 0x10, /* feeding hardware */
|
||||
B_VIDEO_RECORDING = 0x20, /* grabbing from hardware */
|
||||
B_LIVE_AUDIO_MANIPULATION = 0x40, /* non-live processing is OFFLINE_PROCESSING */
|
||||
B_AUDIO_PLAYBACK = 0x80, /* feeding hardware */
|
||||
B_AUDIO_RECORDING = 0x100, /* grabbing from hardware */
|
||||
B_LIVE_3D_RENDERING = 0x200, /* non-live rendering is OFFLINE_PROCESSING */
|
||||
B_NUMBER_CRUNCHING = 0x400,
|
||||
B_MIDI_PROCESSING = 0x800
|
||||
};
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
_IMPEXP_ROOT int32 suggest_thread_priority(uint32 task_flags = B_DEFAULT_MEDIA_PRIORITY,
|
||||
int32 period = 0, bigtime_t jitter = 0, bigtime_t length = 0);
|
||||
_IMPEXP_ROOT bigtime_t estimate_max_scheduling_latency(thread_id th = -1); /* default is current thread */
|
||||
}
|
||||
#else
|
||||
_IMPEXP_ROOT int32 suggest_thread_priority(uint32 what, int32 period, bigtime_t jitter, bigtime_t length);
|
||||
_IMPEXP_ROOT bigtime_t estimate_max_scheduling_latency(thread_id th); /* default is current thread */
|
||||
#endif
|
||||
|
||||
#endif /* SCHEDULER_H */
|
||||
|
33
headers/os/storage/Alias.h
Normal file
33
headers/os/storage/Alias.h
Normal file
@ -0,0 +1,33 @@
|
||||
/***************************************************************************
|
||||
//
|
||||
// File: Alias.h
|
||||
//
|
||||
// Description: path->alias->path functions
|
||||
//
|
||||
// Copyright 1992-98, Be Incorporated, All Rights Reserved.
|
||||
//
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef _ALIAS_H
|
||||
#define _ALIAS_H
|
||||
|
||||
#ifndef _BE_BUILD_H
|
||||
#include <BeBuild.h>
|
||||
#endif
|
||||
#include <SupportDefs.h>
|
||||
|
||||
class BPath;
|
||||
class BDataIO;
|
||||
|
||||
_IMPEXP_BE status_t resolve_link(const char *path, BPath *result,
|
||||
bool block = false);
|
||||
_IMPEXP_BE status_t write_alias(const char *path, BDataIO *s,
|
||||
size_t *len = NULL);
|
||||
_IMPEXP_BE status_t write_alias(const char *path, void *buf, size_t *len);
|
||||
|
||||
_IMPEXP_BE status_t read_alias(BDataIO *s, BPath *result, size_t *len = NULL,
|
||||
bool block = false);
|
||||
_IMPEXP_BE status_t read_alias(const void *buf, BPath *result, size_t *len,
|
||||
bool block = false);
|
||||
|
||||
#endif
|
151
headers/os/storage/FilePanel.h
Normal file
151
headers/os/storage/FilePanel.h
Normal file
@ -0,0 +1,151 @@
|
||||
/*******************************************************************************
|
||||
/
|
||||
/ File: FilePanel.h
|
||||
/
|
||||
/ Description: BFilePanel and BRefFilter classes, and
|
||||
/ run_open_panel()/run_save_panel functions.
|
||||
/
|
||||
/ Copyright 1993-98, Be Incorporated, All Rights Reserved.
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef _FILE_PANEL_H
|
||||
#define _FILE_PANEL_H
|
||||
|
||||
#ifndef _BE_BUILD_H
|
||||
#include <BeBuild.h>
|
||||
#endif
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <Entry.h>
|
||||
#include <Directory.h>
|
||||
#include <Node.h>
|
||||
|
||||
|
||||
/*- Old fashioned, one-shot, heavily-defaulted panel functions. -*/
|
||||
|
||||
extern _IMPEXP_TRACKER void run_open_panel();
|
||||
extern _IMPEXP_TRACKER void run_save_panel();
|
||||
|
||||
|
||||
/*---BRefFilter--------------------------------------------------*/
|
||||
|
||||
/* BRefFilter is used by BFilePanel. Every time the user selects
|
||||
* an item in a file panel, the Filter() func is sent to the
|
||||
* panel's BRefFilter object. Filter()'s return value determines
|
||||
* whether the item is admitted into the panel's list of
|
||||
* displayed items. Optional.
|
||||
*/
|
||||
class BRefFilter {
|
||||
public:
|
||||
virtual bool Filter(const entry_ref *, BNode *, struct stat *,
|
||||
const char *mimetype) = 0;
|
||||
};
|
||||
|
||||
|
||||
/*---File Panel constants etc------------------------------------*/
|
||||
|
||||
enum file_panel_mode {
|
||||
B_OPEN_PANEL,
|
||||
B_SAVE_PANEL
|
||||
};
|
||||
|
||||
enum file_panel_button {
|
||||
B_CANCEL_BUTTON,
|
||||
B_DEFAULT_BUTTON
|
||||
};
|
||||
|
||||
class BWindow;
|
||||
class BMessenger;
|
||||
class BMessage;
|
||||
|
||||
/*---------------------------------------------------------------*/
|
||||
/*----BFilePanel-------------------------------------------------*/
|
||||
|
||||
/* Most of the contructor parameters can also be set through individual
|
||||
* funcs. But these can't:
|
||||
*
|
||||
* file_panel_mode mode
|
||||
* uint32 node_flavors
|
||||
* bool modal
|
||||
*/
|
||||
|
||||
class BFilePanel {
|
||||
|
||||
public:
|
||||
BFilePanel(file_panel_mode mode = B_OPEN_PANEL,
|
||||
BMessenger *target = 0,
|
||||
const entry_ref *start_directory = 0,
|
||||
uint32 node_flavors = 0,
|
||||
bool allow_multiple_selection = true,
|
||||
BMessage *message = 0,
|
||||
BRefFilter * = 0,
|
||||
bool modal = false,
|
||||
bool hide_when_done = true);
|
||||
|
||||
virtual ~BFilePanel();
|
||||
|
||||
void Show();
|
||||
void Hide();
|
||||
bool IsShowing() const;
|
||||
|
||||
virtual void WasHidden();
|
||||
virtual void SelectionChanged();
|
||||
virtual void SendMessage(const BMessenger*, BMessage*);
|
||||
|
||||
BWindow* Window() const;
|
||||
BMessenger Messenger() const;
|
||||
BRefFilter* RefFilter() const;
|
||||
void GetPanelDirectory(entry_ref *) const;
|
||||
|
||||
file_panel_mode PanelMode() const;
|
||||
|
||||
void SetTarget(BMessenger);
|
||||
void SetMessage(BMessage *msg);
|
||||
|
||||
void SetRefFilter(BRefFilter* filter);
|
||||
void SetSaveText(const char* text);
|
||||
void SetButtonLabel(file_panel_button, const char *label);
|
||||
|
||||
void SetPanelDirectory(const BEntry *new_directory);
|
||||
void SetPanelDirectory(const BDirectory *new_directory);
|
||||
void SetPanelDirectory(const entry_ref *new_directory);
|
||||
void SetPanelDirectory(const char *new_directory);
|
||||
|
||||
void SetHideWhenDone(bool);
|
||||
bool HidesWhenDone(void) const;
|
||||
|
||||
void Refresh();
|
||||
void Rewind();
|
||||
status_t GetNextSelectedRef(entry_ref*);
|
||||
|
||||
private:
|
||||
|
||||
#if !_PR3_COMPATIBLE_
|
||||
virtual void _ReservedFilePanel1();
|
||||
virtual void _ReservedFilePanel2();
|
||||
virtual void _ReservedFilePanel3();
|
||||
virtual void _ReservedFilePanel4();
|
||||
virtual void _ReservedFilePanel5();
|
||||
virtual void _ReservedFilePanel6();
|
||||
virtual void _ReservedFilePanel7();
|
||||
virtual void _ReservedFilePanel8();
|
||||
#endif
|
||||
|
||||
BWindow *fWindow;
|
||||
|
||||
#if !_PR3_COMPATIBLE_
|
||||
uint32 _reserved[10];
|
||||
#endif
|
||||
|
||||
public:
|
||||
// deprecated calls, do not use
|
||||
BFilePanel(file_panel_mode mode, BMessenger *, entry_ref *,
|
||||
uint32 , bool, BMessage *, BRefFilter *, bool modal,
|
||||
bool hide_when_done);
|
||||
void SetPanelDirectory(BEntry*);
|
||||
void SetPanelDirectory(BDirectory*);
|
||||
void SetPanelDirectory(entry_ref*);
|
||||
};
|
||||
|
||||
#endif
|
76
headers/os/storage/NodeMonitor.h
Normal file
76
headers/os/storage/NodeMonitor.h
Normal file
@ -0,0 +1,76 @@
|
||||
/***************************************************************************
|
||||
//
|
||||
// File: NodeMonitor.h
|
||||
//
|
||||
// Description: The Node Monitor
|
||||
//
|
||||
// Copyright 1992-98, Be Incorporated, All Rights Reserved.
|
||||
//
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#ifndef _NODE_MONITOR_H
|
||||
#define _NODE_MONITOR_H
|
||||
|
||||
#ifndef _BE_BUILD_H
|
||||
#include <BeBuild.h>
|
||||
#endif
|
||||
#include <StorageDefs.h>
|
||||
#include <Node.h>
|
||||
#include <Messenger.h>
|
||||
|
||||
class BLooper;
|
||||
class BHandler;
|
||||
|
||||
_IMPEXP_BE status_t watch_node(const node_ref *node,
|
||||
uint32 flags,
|
||||
BMessenger target);
|
||||
|
||||
_IMPEXP_BE status_t watch_node(const node_ref *node,
|
||||
uint32 flags,
|
||||
const BHandler *handler,
|
||||
const BLooper *looper = NULL);
|
||||
|
||||
_IMPEXP_BE status_t stop_watching(BMessenger target);
|
||||
|
||||
_IMPEXP_BE status_t stop_watching(const BHandler *handler,
|
||||
const BLooper *looper=NULL);
|
||||
|
||||
/* Flags for the watch_node() call.
|
||||
* Note that B_WATCH_MOUNT is NOT included in
|
||||
* B_WATCH_ALL -- the latter is a convenience
|
||||
* for watching all watchable state changes for
|
||||
* a specific node. Watching for volumes
|
||||
* being mounted and unmounted (B_WATCH_MOUNT)
|
||||
* is in a category by itself.
|
||||
*
|
||||
* BVolumeRoster provides a handy cover for
|
||||
* volume watching.
|
||||
*/
|
||||
enum {
|
||||
B_STOP_WATCHING = 0x0000,
|
||||
B_WATCH_NAME = 0x0001,
|
||||
B_WATCH_STAT = 0x0002,
|
||||
B_WATCH_ATTR = 0x0004,
|
||||
B_WATCH_DIRECTORY = 0x0008,
|
||||
B_WATCH_ALL = 0x000f,
|
||||
B_WATCH_MOUNT = 0x0010
|
||||
};
|
||||
|
||||
/* When a node monitor notification
|
||||
* returns to the target, the "opcode" field
|
||||
* will hold one of these values. The other
|
||||
* fields in the message tell you which
|
||||
* node (or device) changed. See the documentation
|
||||
* for the names of these other fields.
|
||||
*/
|
||||
#define B_ENTRY_CREATED 1
|
||||
#define B_ENTRY_REMOVED 2
|
||||
#define B_ENTRY_MOVED 3
|
||||
#define B_STAT_CHANGED 4
|
||||
#define B_ATTR_CHANGED 5
|
||||
#define B_DEVICE_MOUNTED 6
|
||||
#define B_DEVICE_UNMOUNTED 7
|
||||
|
||||
|
||||
#endif
|
29
headers/os/support/Beep.h
Normal file
29
headers/os/support/Beep.h
Normal file
@ -0,0 +1,29 @@
|
||||
/******************************************************************************
|
||||
/
|
||||
/ File: Beep.h
|
||||
/
|
||||
/ Description: System beep function.
|
||||
/
|
||||
/ Copyright 1993-98, Be Incorporated
|
||||
/
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef _BEEP_H
|
||||
#define _BEEP_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <SupportDefs.h>
|
||||
|
||||
|
||||
_IMPEXP_BE status_t beep();
|
||||
_IMPEXP_BE status_t system_beep(const char * event_name);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
#define _BEEP_FLAGS = 0
|
||||
#else
|
||||
#define _BEEP_FLAGS
|
||||
#endif
|
||||
_IMPEXP_BE status_t add_system_beep_event(const char * event_name, uint32 flags _BEEP_FLAGS);
|
||||
|
||||
|
||||
#endif /* _BEEP_H */
|
73
headers/os/support/BufferIO.h
Normal file
73
headers/os/support/BufferIO.h
Normal file
@ -0,0 +1,73 @@
|
||||
/******************************************************************************
|
||||
/
|
||||
/ File: BufferIO.h
|
||||
/
|
||||
/ Description: A buffered adapter for BPositionIO
|
||||
/
|
||||
/ Copyright 1998, Be Incorporated
|
||||
/
|
||||
******************************************************************************/
|
||||
|
||||
#if !defined(_BUFFER_IO_H)
|
||||
#define _BUFFER_IO_H
|
||||
|
||||
#include <DataIO.h>
|
||||
|
||||
class BBufferIO : public BPositionIO
|
||||
{
|
||||
public:
|
||||
enum {
|
||||
DEFAULT_BUF_SIZE = 65536L
|
||||
};
|
||||
|
||||
BBufferIO(
|
||||
BPositionIO * stream,
|
||||
size_t buf_size = DEFAULT_BUF_SIZE,
|
||||
bool owns_stream = true);
|
||||
virtual ~BBufferIO();
|
||||
|
||||
virtual ssize_t ReadAt(
|
||||
off_t pos,
|
||||
void *buffer,
|
||||
size_t size);
|
||||
virtual ssize_t WriteAt(
|
||||
off_t pos,
|
||||
const void *buffer,
|
||||
size_t size);
|
||||
virtual off_t Seek(
|
||||
off_t position,
|
||||
uint32 seek_mode);
|
||||
virtual off_t Position() const;
|
||||
virtual status_t SetSize(
|
||||
off_t size);
|
||||
virtual status_t Flush();
|
||||
BPositionIO * Stream() const;
|
||||
size_t BufferSize() const;
|
||||
bool OwnsStream() const;
|
||||
void SetOwnsStream(
|
||||
bool owns_stream);
|
||||
|
||||
void PrintToStream() const;
|
||||
|
||||
private:
|
||||
|
||||
off_t m_buffer_start;
|
||||
BPositionIO * m_stream;
|
||||
char * m_buffer;
|
||||
size_t m_buffer_phys;
|
||||
size_t m_buffer_used;
|
||||
uint32 _reserved_ints[6];
|
||||
bool m_buffer_dirty;
|
||||
bool m_owns_stream;
|
||||
bool _reserved_bools[6];
|
||||
|
||||
virtual status_t _Reserved_BufferIO_0(void *);
|
||||
virtual status_t _Reserved_BufferIO_1(void *);
|
||||
virtual status_t _Reserved_BufferIO_2(void *);
|
||||
virtual status_t _Reserved_BufferIO_3(void *);
|
||||
virtual status_t _Reserved_BufferIO_4(void *);
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif /* _BUFFER_IO_H */
|
114
headers/os/support/Debug.h
Normal file
114
headers/os/support/Debug.h
Normal file
@ -0,0 +1,114 @@
|
||||
/******************************************************************************
|
||||
/
|
||||
/ File: Debug.h
|
||||
/
|
||||
/ Description: Compile time and runtime switchable debug macros.
|
||||
/
|
||||
/ Copyright 1993-98, Be Incorporated
|
||||
/
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef _DEBUG_H
|
||||
#define _DEBUG_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <SupportDefs.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <malloc.h>
|
||||
#include <OS.h>
|
||||
|
||||
/*------------------------------*/
|
||||
/*----- Private... -------------*/
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
extern _IMPEXP_ROOT bool _rtDebugFlag;
|
||||
|
||||
_IMPEXP_ROOT bool _debugFlag();
|
||||
_IMPEXP_ROOT bool _setDebugFlag(bool);
|
||||
|
||||
_IMPEXP_ROOT int _debugPrintf(const char *, ...);
|
||||
_IMPEXP_ROOT int _sPrintf(const char *, ...);
|
||||
_IMPEXP_ROOT int _xdebugPrintf(const char *, ...);
|
||||
_IMPEXP_ROOT int _debuggerAssert(const char *, int, char *);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
/*-------- ...to here ----------*/
|
||||
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*----- Debug macros ------------------------------------------*/
|
||||
|
||||
|
||||
#if DEBUG
|
||||
#define SET_DEBUG_ENABLED(FLAG) _setDebugFlag(FLAG)
|
||||
#define IS_DEBUG_ENABLED() _debugFlag()
|
||||
|
||||
#define SERIAL_PRINT(ARGS) _sPrintf ARGS
|
||||
#define PRINT(ARGS) _debugPrintf ARGS
|
||||
#define PRINT_OBJECT(OBJ) if (_rtDebugFlag) { \
|
||||
PRINT(("%s\t", #OBJ)); \
|
||||
(OBJ).PrintToStream(); \
|
||||
} ((void) 0)
|
||||
#define TRACE() _debugPrintf("File: %s, Line: %d, Thread: %d\n", \
|
||||
__FILE__, __LINE__, find_thread(NULL))
|
||||
|
||||
#define SERIAL_TRACE() _sPrintf("File: %s, Line: %d, Thread: %d\n", \
|
||||
__FILE__, __LINE__, find_thread(NULL))
|
||||
|
||||
#define DEBUGGER(MSG) if (_rtDebugFlag) debugger(MSG)
|
||||
#if !defined(ASSERT)
|
||||
#define ASSERT(E) (!(E) ? _debuggerAssert(__FILE__,__LINE__, #E) \
|
||||
: (int)0)
|
||||
#endif
|
||||
|
||||
#define ASSERT_WITH_MESSAGE(expr, msg) \
|
||||
(!(expr) ? _debuggerAssert( __FILE__,__LINE__, msg) \
|
||||
: (int)0)
|
||||
|
||||
#define TRESPASS() DEBUGGER("Should not be here");
|
||||
|
||||
#define DEBUG_ONLY(arg) arg
|
||||
|
||||
#else /* DEBUG == 0 */
|
||||
#define SET_DEBUG_ENABLED(FLAG) (void)0
|
||||
#define IS_DEBUG_ENABLED() (void)0
|
||||
|
||||
#define SERIAL_PRINT(ARGS) (void)0
|
||||
#define PRINT(ARGS) (void)0
|
||||
#define PRINT_OBJECT(OBJ) (void)0
|
||||
#define TRACE() (void)0
|
||||
#define SERIAL_TRACE() (void)0
|
||||
|
||||
#define DEBUGGER(MSG) (void)0
|
||||
#if !defined(ASSERT)
|
||||
#define ASSERT(E) (void)0
|
||||
#endif
|
||||
#define ASSERT_WITH_MESSAGE(expr, msg) \
|
||||
(void)0
|
||||
#define TRESPASS() (void)0
|
||||
#define DEBUG_ONLY(x)
|
||||
#endif
|
||||
|
||||
|
||||
#if !__MWERKS__
|
||||
// STATIC_ASSERT is a compile-time check that can be used to
|
||||
// verify static expressions such as: STATIC_ASSERT(sizeof(int64) == 8);
|
||||
#define STATIC_ASSERT(x) \
|
||||
do { \
|
||||
struct __staticAssertStruct__ { \
|
||||
char __static_assert_failed__[2*(x) - 1]; \
|
||||
}; \
|
||||
} while (false)
|
||||
#else
|
||||
#define STATIC_ASSERT(x)
|
||||
// the STATIC_ASSERT above doesn't work too well with mwcc because
|
||||
// of scoping bugs; for now make it do nothing
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _DEBUG_H */
|
51
headers/os/support/TLS.h
Normal file
51
headers/os/support/TLS.h
Normal file
@ -0,0 +1,51 @@
|
||||
#ifndef _TLS_H
|
||||
#define _TLS_H 1
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <SupportDefs.h>
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern _IMPEXP_ROOT int32 tls_allocate(void);
|
||||
|
||||
#if __INTEL__
|
||||
|
||||
static inline void * tls_get(int32 index) {
|
||||
void *ret;
|
||||
__asm__ __volatile__ (
|
||||
"movl %%fs:(,%%edx, 4), %%eax \n\t"
|
||||
: "=a"(ret) : "d"(index) );
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline void * tls_address(int32 index) {
|
||||
void *ret;
|
||||
__asm__ __volatile__ (
|
||||
"movl %%fs:0, %%eax \n\t"
|
||||
"leal (%%eax, %%edx, 4), %%eax \n\t"
|
||||
: "=a"(ret) : "d"(index) );
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline void tls_set(int32 index, void *value) {
|
||||
__asm__ __volatile__ (
|
||||
"movl %%eax, %%fs:(,%%edx, 4) \n\t"
|
||||
: : "d"(index), "a"(value) );
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
extern _IMPEXP_ROOT void * tls_get(int32 index);
|
||||
extern _IMPEXP_ROOT void ** tls_address(int32 index);
|
||||
extern _IMPEXP_ROOT void tls_set(int32 index, void *value);
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
67
headers/os/support/UTF8.h
Normal file
67
headers/os/support/UTF8.h
Normal file
@ -0,0 +1,67 @@
|
||||
/******************************************************************************
|
||||
/
|
||||
/ File: UTF8.h
|
||||
/
|
||||
/ Description: UTF-8 conversion functions.
|
||||
/
|
||||
/ Copyright 1993-98, Be Incorporated
|
||||
/
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
#ifndef _UTF8_H
|
||||
#define _UTF8_H
|
||||
|
||||
#include <BeBuild.h>
|
||||
#include <InterfaceDefs.h>
|
||||
#include <SupportDefs.h>
|
||||
|
||||
/*------------------------------------------------------------*/
|
||||
/*------- Conversion Flavors ---------------------------------*/
|
||||
enum {
|
||||
B_ISO1_CONVERSION, /* ISO 8859-1 */
|
||||
B_ISO2_CONVERSION, /* ISO 8859-2 */
|
||||
B_ISO3_CONVERSION, /* ISO 8859-3 */
|
||||
B_ISO4_CONVERSION, /* ISO 8859-4 */
|
||||
B_ISO5_CONVERSION, /* ISO 8859-5 */
|
||||
B_ISO6_CONVERSION, /* ISO 8859-6 */
|
||||
B_ISO7_CONVERSION, /* ISO 8859-7 */
|
||||
B_ISO8_CONVERSION, /* ISO 8859-8 */
|
||||
B_ISO9_CONVERSION, /* ISO 8859-9 */
|
||||
B_ISO10_CONVERSION, /* ISO 8859-10 */
|
||||
B_MAC_ROMAN_CONVERSION, /* Macintosh Roman */
|
||||
B_SJIS_CONVERSION, /* Shift-JIS */
|
||||
B_EUC_CONVERSION, /* EUC Packed Japanese */
|
||||
B_JIS_CONVERSION, /* JIS X 0208-1990 */
|
||||
B_MS_WINDOWS_CONVERSION, /* MS-Windows Codepage 1252 */
|
||||
B_UNICODE_CONVERSION, /* Unicode 2.0 */
|
||||
B_KOI8R_CONVERSION, /* KOI8-R */
|
||||
B_MS_WINDOWS_1251_CONVERSION, /* MS-Windows Codepage 1251 */
|
||||
B_MS_DOS_866_CONVERSION, /* MS-DOS Codepage 866 */
|
||||
B_MS_DOS_CONVERSION, /* MS-DOS Codepage 437 */
|
||||
B_EUC_KR_CONVERSION /* EUC Korean */
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*------- Conversion Functions --------------------------------*/
|
||||
|
||||
_IMPEXP_TEXTENCODING status_t convert_to_utf8(uint32 srcEncoding,
|
||||
const char *src,
|
||||
int32 *srcLen,
|
||||
char *dst,
|
||||
int32 *dstLen,
|
||||
int32 *state,
|
||||
char substitute = B_SUBSTITUTE);
|
||||
|
||||
_IMPEXP_TEXTENCODING status_t convert_from_utf8(uint32 dstEncoding,
|
||||
const char *src,
|
||||
int32 *srcLen,
|
||||
char *dst,
|
||||
int32 *dstLen,
|
||||
int32 *state,
|
||||
char substitute = B_SUBSTITUTE);
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _UTF8_H */
|
185
headers/os/support/syslog.h
Normal file
185
headers/os/support/syslog.h
Normal file
@ -0,0 +1,185 @@
|
||||
/******************************************************************************
|
||||
/
|
||||
/ File: syslog.h
|
||||
/
|
||||
/ Description: System event logging mechanism.
|
||||
/
|
||||
/ Copyright 1993-98, Be Incorporated
|
||||
/
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* Copyright (c) 1982, 1986, 1988 Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)syslog.h 7.20 (Berkeley) 2/23/91
|
||||
*/
|
||||
|
||||
#ifndef _SYS_LOG_H
|
||||
#define _SYS_LOG_H
|
||||
|
||||
#ifndef _BE_BUILD_H
|
||||
#include <BeBuild.h>
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*----- Priority ----------------------------------------------*/
|
||||
|
||||
#define LOG_EMERG 0
|
||||
#define LOG_PANIC LOG_EMERG
|
||||
#define LOG_ALERT 1
|
||||
#define LOG_CRIT 2
|
||||
#define LOG_ERR 3
|
||||
#define LOG_WARNING 4
|
||||
#define LOG_NOTICE 5
|
||||
#define LOG_INFO 6
|
||||
#define LOG_DEBUG 7
|
||||
|
||||
#define LOG_NPRIORITIES 8
|
||||
|
||||
#define LOG_PRIMASK 0x07
|
||||
#define LOG_PRI(p) ((p) & LOG_PRIMASK)
|
||||
#define LOG_MAKEPRI(fac, pri) (((fac) << 3) | (pri))
|
||||
|
||||
#ifdef SYSLOG_NAMES
|
||||
#define INTERNAL_NOPRI 0x8
|
||||
#define INTERNAL_MARK LOG_MAKEPRI(LOG_NFACILITIES, 0)
|
||||
|
||||
static char *prioritynames[] = {
|
||||
"panic",
|
||||
"alert",
|
||||
"crit",
|
||||
"err",
|
||||
"warning",
|
||||
"notice",
|
||||
"info",
|
||||
"debug",
|
||||
"none",
|
||||
NULL
|
||||
};
|
||||
|
||||
#endif /* SYSLOG_NAMES */
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*----- Facility ----------------------------------------------*/
|
||||
|
||||
#define LOG_KERN (0<<3)
|
||||
#define LOG_USER (1<<3)
|
||||
#define LOG_MAIL (2<<3)
|
||||
#define LOG_DAEMON (3<<3)
|
||||
#define LOG_AUTH (4<<3)
|
||||
#define LOG_SYSLOG (5<<3)
|
||||
#define LOG_LPR (6<<3)
|
||||
#define LOG_NEWS (7<<3)
|
||||
#define LOG_UUCP (8<<3)
|
||||
#define LOG_CRON (9<<3)
|
||||
#define LOG_AUTHPRIV (10<<3)
|
||||
|
||||
/*----- Private or reserved ---------------*/
|
||||
#define LOG_LOCAL0 (16<<3)
|
||||
#define LOG_LOCAL1 (17<<3)
|
||||
#define LOG_LOCAL2 (18<<3)
|
||||
#define LOG_LOCAL3 (19<<3)
|
||||
#define LOG_LOCAL4 (20<<3)
|
||||
#define LOG_LOCAL5 (21<<3)
|
||||
#define LOG_LOCAL6 (22<<3)
|
||||
#define LOG_LOCAL7 (23<<3)
|
||||
/*-----------------------------------------*/
|
||||
|
||||
#define LOG_NFACILITIES 24
|
||||
#define LOG_FACMASK 0x03f8
|
||||
#define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3)
|
||||
|
||||
#ifdef SYSLOG_NAMES
|
||||
|
||||
static char *facilitynames[] = {
|
||||
"kern", "user", "mail", "daemon",
|
||||
"auth", "syslogd", "lpr", "news",
|
||||
"uucp", "cron", "authpriv", "",
|
||||
"", "", "", "",
|
||||
"local0", "local1", "local2", "local3",
|
||||
"local4", "local5", "local6", "local7",
|
||||
NULL
|
||||
};
|
||||
|
||||
#endif /* SYSLOG_NAMES */
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*----- Logging ----------------------------------------------*/
|
||||
|
||||
#ifdef KERNEL
|
||||
#define LOG_PRINTF -1
|
||||
#endif
|
||||
|
||||
/*----- setlogmask args ---------------*/
|
||||
#define LOG_MASK(pri) (1 << (pri))
|
||||
#define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1)
|
||||
|
||||
/*----- openlog options ---------------*/
|
||||
#define LOG_OPTIONSMASK 0x000ff000
|
||||
#define LOG_OPTIONS(p) ((p) & LOG_OPTIONSMASK)
|
||||
|
||||
#define LOG_PID (0x01<<12)
|
||||
#define LOG_THID LOG_PID
|
||||
#define LOG_TMID LOG_PID
|
||||
#define LOG_CONS (0x02<<12) /* no-op */
|
||||
#define LOG_ODELAY (0x04<<12) /* no-op */
|
||||
#define LOG_NDELAY (0x08<<12) /* no-op */
|
||||
#define LOG_SERIAL (0x10<<12)
|
||||
#define LOG_PERROR (0x20<<12)
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*----- Logging Functions ---------------*/
|
||||
|
||||
_IMPEXP_BE void closelog (void);
|
||||
_IMPEXP_BE void closelog_team (void);
|
||||
_IMPEXP_BE void closelog_thread (void);
|
||||
_IMPEXP_BE void openlog (char *, int, int);
|
||||
_IMPEXP_BE void openlog_team (char *, int, int);
|
||||
_IMPEXP_BE void openlog_thread (char *, int, int);
|
||||
_IMPEXP_BE void syslog (int, char *, ...);
|
||||
_IMPEXP_BE void log_team (int, char *, ...);
|
||||
_IMPEXP_BE void log_thread (int, char *, ...);
|
||||
_IMPEXP_BE int setlogmask (int);
|
||||
_IMPEXP_BE int setlogmask_team (int);
|
||||
_IMPEXP_BE int setlogmask_thread (int);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
#endif /* _SYS_LOG_H */
|
Loading…
Reference in New Issue
Block a user