summaryrefslogtreecommitdiffstats
path: root/beos/liblayout/MBorder.h
diff options
context:
space:
mode:
Diffstat (limited to 'beos/liblayout/MBorder.h')
-rw-r--r--beos/liblayout/MBorder.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/beos/liblayout/MBorder.h b/beos/liblayout/MBorder.h
new file mode 100644
index 000000000..4e925ec2d
--- /dev/null
+++ b/beos/liblayout/MBorder.h
@@ -0,0 +1,68 @@
+
+#ifndef _MBORDER_H
+#define _MBORDER_H
+#include "MGroup.h"
+
+#if __POWERPC__
+#pragma simple_class_byval off
+#endif
+
+class IMPEXPLIBLAYOUT MBorder : public MGroup, public BView
+{
+ public:
+ enum {
+ ROTATE_REVERSE=(int)0x80000000
+ };
+
+ MBorder(ulong border_type,ulong spacing,char *name=NULL,MView *kid=NULL);
+ MBorder(BMessage*);
+ virtual long Archive(BMessage *archive, bool deep=true) const;
+ static BArchivable *Instantiate(BMessage *archive);
+ ~MBorder();
+ virtual minimax layoutprefs();
+ virtual BRect layout(BRect rect);
+ virtual void Draw(BRect);
+ virtual void AttachedToWindow();
+ virtual void DetachedFromWindow();
+ virtual void FrameResized(float width, float height);
+ void DrawBorder();
+ void SetLabel(char *);
+ char *Label();
+ void SetHighlight(int);
+ void SetHighlightColors(rgb_color color1, rgb_color color2, rgb_color color3);
+
+ private:
+ virtual void _expansionmborder1();
+ virtual void _expansionmborder2();
+
+ static long _cycler(void *arg);
+ void Cycler();
+ int highlightmode;
+ thread_id cycler;
+
+ ulong bordertype;
+ ulong extraspacing;
+ ulong extralabelspacing;
+ char *label;
+ char *truncatedlabel;
+
+ rgb_color *highlightcolors;
+
+ uint32 _expansiondata[1];
+};
+
+
+enum
+{
+ M_NO_BORDER,
+ M_RAISED_BORDER,
+ M_DEPRESSED_BORDER,
+ M_LABELED_BORDER,
+ M_ETCHED_BORDER
+};
+
+enum
+{
+ M_SHOW_FULL_LABEL= 0x00000100
+};
+#endif