Import relevant files from BeDC 1.0
diff --git a/BeDC.h b/BeDC.h
new file mode 100644
index 0000000..6f8678f
--- /dev/null
+++ b/BeDC.h
@@ -0,0 +1,195 @@
+//////////////////////////////////////////////////////////////////////////
+// BeDC.h //
+// The header file to use with BeDC //
+// //
+// Written By: Magnus Landahl //
+// E-Mail: magnus.landahl@swipnet.se //
+// //
+// Copyright © Magnus Landahl - Stockholm 2000 //
+//////////////////////////////////////////////////////////////////////////
+
+#ifndef _BE_DC_H_
+#define _BE_DC_H_
+
+//Messages types
+#define DC_MESSAGE 0
+#define DC_SUCCESS DC_MESSAGE + 1
+#define DC_ERROR DC_MESSAGE + 2
+#define DC_SEPARATOR DC_MESSAGE + 3
+#define DC_CLEAR DC_MESSAGE + 4
+//---------------
+
+//Color defines
+#define DEF_COLOR 0
+#define DC_WHITE DEF_COLOR + 1
+#define DC_BLACK DEF_COLOR + 2
+#define DC_BLUE DEF_COLOR + 3
+#define DC_RED DEF_COLOR + 4
+#define DC_YELLOW DEF_COLOR + 5
+#define DC_GREEN DEF_COLOR + 6
+//---------------
+
+#define BEDC_MESSAGE 'bedc'
+
+#define BEDC_MAIN_TYPE 0
+#define BEDC_BMESSAGE BEDC_MAIN_TYPE + 1
+#define BEDC_PLAIN_MESSAGE BEDC_MAIN_TYPE + 2
+#define BEDC_VER "1.0"
+
+#include <TypeConstants.h>
+#include <SupportDefs.h>
+#include <Messenger.h>
+#include <Message.h>
+#include <String.h>
+#include <string.h>
+#include <stdio.h>
+#include <Point.h>
+#include <Rect.h>
+
+class BeDC
+{
+ ////////////////////////////////////////////////
+ // Public Procedures
+
+ public:
+ BeDC(const char *c_name = "Application", int8 color = DEF_COLOR){
+ name = strdup(c_name);
+ s_color = color;
+ }
+
+ ~BeDC(){
+ delete name;
+ }
+
+ //Send a message
+ void SendMessage(char *text, int8 type = DC_MESSAGE){
+ BMessage message(BEDC_MESSAGE);
+ message.AddString( "bedc_name", name);
+ message.AddInt8( "bedc_type", type);
+ message.AddString( "bedc_text", text);
+ message.AddInt8( "bedc_color", s_color);
+ message.AddString( "bedc_ver", BEDC_VER);
+ message.AddInt8( "bedc_main_type", BEDC_PLAIN_MESSAGE);
+ SendMessageToApp(&message);
+ }
+ //---------------
+
+ //Send a format string - parameters
+ void SendFormat(const char *text, ...){
+ char buffer[1024];
+ va_list args;
+
+ va_start(args, text);
+ vsprintf(buffer, text, args);
+ va_end(args);
+ SendMessage(buffer, DC_MESSAGE);
+ }
+
+ void SendFormatT(const char *text, int8 type, ...){
+ char buffer[1024];
+ va_list args;
+
+ va_start(args, type);
+ vsprintf(buffer, text, args);
+ va_end(args);
+ SendMessage(buffer, type);
+ }
+ //---------------
+
+ //Dump a BMessage
+ void DumpBMessage(BMessage *Message, const char *desc = "", int8 type = DC_MESSAGE){
+ Message->AddInt32( "bedc_what", Message->what);
+ Message->AddInt8( "bedc_main_type", BEDC_BMESSAGE);
+
+ Message->AddInt8( "bedc_type", type);
+ Message->AddString( "bedc_name", name);
+ Message->AddString( "bedc_desc", desc);
+ Message->AddInt8( "bedc_color",s_color);
+ Message->AddString( "bedc_ver", BEDC_VER);
+
+ Message->what = BEDC_MESSAGE;
+ SendMessageToApp(Message);
+ }
+ //---------------
+
+ //Send a separator (Add a separator)
+ void AddSeparator(){
+ SendMessage("Separator", DC_SEPARATOR);
+ }
+ //---------------
+
+ //Send a clear message (Clear the window that is online)
+ void Clear(){
+ SendMessage("Clear", DC_CLEAR);
+ }
+ //---------------
+
+ //Send an Int32
+ void SendInt( int32 integer, const char *desc = NULL, int8 type = DC_MESSAGE){
+ str.SetTo("");
+ if (desc != NULL) str << desc; else
+ str << "Integer: ";
+ str << integer;
+ SendMessage((char *)str.String(),type);
+ }
+ //---------------
+
+ //Send an Int64
+ void SendInt( int64 integer, const char *desc = NULL, int8 type = DC_MESSAGE){
+ str.SetTo("");
+ if (desc != NULL) str << desc; else
+ str << "Integer: ";
+ str << integer;
+ SendMessage((char *)str.String(),type);
+ }
+ //---------------
+
+ //Send a BPoint
+ void SendPoint( BPoint point, const char *desc = NULL, int8 type = DC_MESSAGE){
+ str.SetTo("");
+ if (desc != NULL) str << desc; else
+ str << "Point: ";
+ str << "X = " << point.x << " Y = " << point.y;
+ SendMessage((char *)str.String(),type);
+ }
+ //---------------
+
+ //Send a BRect
+ void SendRect( BRect rect, const char *desc = NULL, int8 type = DC_MESSAGE){
+ str.SetTo("");
+ if (desc != NULL) str << desc; else
+ str << "Rectangle: ";
+ str << "Left = " << rect.left << " Top = " << rect.top
+ << " Right = " << rect.right << " Bottom = " << rect.bottom;
+ SendMessage((char *)str.String(),type);
+ }
+ //---------------
+
+ ////////////////////////////////////////////
+ // Private Data
+ private:
+ char *name;
+ int8 s_color;
+ BString str;
+
+ void SendMessageToApp(BMessage *Msg){
+ BMessenger messenger("application/x-vnd.ml-BeDCApp");
+ if (messenger.IsValid()) messenger.SendMessage(Msg);
+ }
+};
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Readme BeDC b/Readme BeDC
new file mode 100644
index 0000000..851d4b2
--- /dev/null
+++ b/Readme BeDC
@@ -0,0 +1,90 @@
+BeDC
+
+Written By: Magnus Landahl
+Copyright © Magnus Landahl - Stockholm 2000
+This application is FreeWare!
+
+Version 1.0
+
+
+New features in Ver 1.0
+Cut/Copy/Delete has been added.
+Full implementation of drag and drop.
+You´re now able to dump BMessages and send format strings like printf.
+A 'windows always on top' property has been added.
+And a lot of other improvments...
+
+Installation:
+Drop the BeDC.h file in the link or copy the file to /boot/deveop/headers/
+
+How to use:
+All you have to do is to create an BeDC object and use that one to send messages. It´s that simple.
+An quick example:
+
+ BeDC dc;
+ dc.SendMessage("It just works!!!");
+
+First some defines:
+Colors:
+ White = DC_WHITE
+ Black = DC_BLACK
+ Blue = DC_BLUE
+ Red = DC_RED
+ Yellow = DC_YELLOW
+ Green = DC_GREEN
+
+Message types:
+ Normal message = DC_MESSAGE
+ Success message = DC_SUCCESS
+ Error message = DC_ERROR
+
+The constructor:
+
+BeDC(const char *name, int8 color);
+'name' is the display name, it could be what ever you want. Default is: "Application"
+'color' is the color of the head. If you don´t specify a color BeDC will use the defaut head color.
+
+Member functions:
+
+SendMessage(char *text, int8 type);
+Sends a normal message.
+
+SendSeparator();
+Adds a separator.
+
+SendInt(Int32 / Int64 integer, const char *description, int8 type);
+Sends an int32 or int64. If you don´t specify a description BeDC will print "Integer"
+
+SendPoint(BPoint point, const char *description, int8 type);
+Sends a BPoint. If you don´t specify a description BeDC will print "Point"
+
+SendRect(BRect rect, const char *description, int8 type);
+Sends a BRect. If you don´t specify a description BeDC will print "Rectangle"
+
+SendFormat(const char *text, ...);
+SendFormatT(const char *text, int8 type, ...);
+Sends a format string like printf. SendFormatT is used when you want to specify the message type.
+
+DumpBMessage(BMessage *Message, const char *desc = "", int8 type = DC_MESSAGE);
+Dumps a BMessage...
+
+
+Contact:
+E-Mail : magnus.landahl@swipnet.se
+
+
+BeDC History:
+
+Ver 0.9b
+ BeDC now saves the current state on exit, including window contents.
+ You´re now able to customize the colors BeDC use including background color.
+ Save to file has been added.
+ Some minor bugs has been fixed.
+
+Ver 0.8.1b
+ A couple of small bugs fixed.
+
+Ver 0.8b
+ First public release.
+
+
diff --git a/Sample/build.sh b/Sample/build.sh
new file mode 100644
index 0000000..cd94b67
--- /dev/null
+++ b/Sample/build.sh
@@ -0,0 +1,2 @@
+#!sh
+gcc main.cpp -I .. -lbe
diff --git a/Sample/main.cpp b/Sample/main.cpp
new file mode 100644
index 0000000..86d81b7
--- /dev/null
+++ b/Sample/main.cpp
@@ -0,0 +1,44 @@
+#include "BeDC.h"
+
+int main(){
+ //Create the BeDC Object
+ BeDC dc;
+
+ //Normal Message
+ dc.SendMessage("Welcome to BeDC!!!");
+
+ //Send a BPoint
+ BPoint point(40,120);
+ dc.SendPoint(point);
+
+ //Send a BRect
+ BRect rect(80,60,130,140);
+ dc.SendRect(rect);
+
+ //Create another BeDC Object - With green head
+ BeDC dc_green("Multiple Colors", DC_GREEN);
+
+ //Send an int32 - with a specified description
+ dc_green.SendInt((int32)120, "item count");
+
+ //Add a separator
+ dc_green.AddSeparator();
+
+ //Send a error text
+ dc_green.SendMessage("An error has occured!", DC_ERROR);
+
+ //Send a success
+ dc_green.SendMessage("Finished!!!", DC_SUCCESS);
+
+ //Dump a BMessage
+ BMessage *Message = new BMessage((int32)1000);
+ Message->AddString("Text", "Dump Message Test...");
+ Message->AddInt32("An Int", 2000);
+ Message->AddPoint("A BPoint", BPoint(150,360));
+ dc.DumpBMessage(Message, "A Description");
+
+ return 0;
+}
+
+
+