add basic forme drawer
This commit is contained in:
parent
64b4f4254f
commit
d2034bf69b
79
jni/Main.cpp
79
jni/Main.cpp
@ -43,6 +43,7 @@
|
|||||||
#include <ewol/WidgetManager.h>
|
#include <ewol/WidgetManager.h>
|
||||||
#include <globalMsg.h>
|
#include <globalMsg.h>
|
||||||
#include <widgetDrawer.h>
|
#include <widgetDrawer.h>
|
||||||
|
#include <elementManager.h>
|
||||||
|
|
||||||
#include <Debug.h>
|
#include <Debug.h>
|
||||||
|
|
||||||
@ -57,7 +58,9 @@
|
|||||||
class MaListExemple : public ewol::List
|
class MaListExemple : public ewol::List
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MaListExemple(void) { };
|
MaListExemple(void) {
|
||||||
|
RegisterMultiCast(drawMsgListElementChange);
|
||||||
|
};
|
||||||
~MaListExemple(void) { };
|
~MaListExemple(void) { };
|
||||||
/*
|
/*
|
||||||
virtual color_ts GetBasicBG(void) {
|
virtual color_ts GetBasicBG(void) {
|
||||||
@ -77,22 +80,19 @@ class MaListExemple : public ewol::List
|
|||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
uint32_t GetNuberOfRaw(void) {
|
uint32_t GetNuberOfRaw(void) {
|
||||||
return 3;
|
return drawElement::Size();
|
||||||
};
|
};
|
||||||
bool GetElement(int32_t colomn, int32_t raw, etk::UString &myTextToWrite, color_ts &fg, color_ts &bg) {
|
bool GetElement(int32_t colomn, int32_t raw, etk::UString &myTextToWrite, color_ts &fg, color_ts &bg) {
|
||||||
switch (raw) {
|
drawElement::Base* elementLocal = drawElement::Get(raw);
|
||||||
case 0:
|
myTextToWrite = "[";
|
||||||
myTextToWrite = "Ligne 1";
|
myTextToWrite += raw;
|
||||||
break;
|
myTextToWrite += "] ";
|
||||||
case 1:
|
if (NULL == elementLocal) {
|
||||||
myTextToWrite = "ma ligne 2";
|
myTextToWrite += "????";
|
||||||
break;
|
} else {
|
||||||
case 2:
|
myTextToWrite += elementLocal->GetType();
|
||||||
myTextToWrite = "test de clipping du text et plus si afinitee";
|
myTextToWrite += "-";
|
||||||
break;
|
myTextToWrite += elementLocal->GetName();
|
||||||
default:
|
|
||||||
myTextToWrite = "ERROR";
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
fg.red = 0.0;
|
fg.red = 0.0;
|
||||||
fg.green = 0.0;
|
fg.green = 0.0;
|
||||||
@ -118,7 +118,19 @@ class MaListExemple : public ewol::List
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @brief Receive a message from an other EObject with a specific eventId and data
|
||||||
|
* @param[in] CallerObject Pointer on the EObject that information came from
|
||||||
|
* @param[in] eventId Message registered by this class
|
||||||
|
* @param[in] data Data registered by this class
|
||||||
|
* @return ---
|
||||||
|
*/
|
||||||
|
virtual void OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data)
|
||||||
|
{
|
||||||
|
if (eventId == drawMsgListElementChange) {
|
||||||
|
MarkToReedraw();
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -151,19 +163,19 @@ class MainWindows :public ewol::Windows
|
|||||||
(void)myMenu->Add(idMenuFile, "Save", "", drawMsgGuiSave);
|
(void)myMenu->Add(idMenuFile, "Save", "", drawMsgGuiSave);
|
||||||
(void)myMenu->Add(idMenuFile, "Save As ...", "", drawMsgGuiSaveAs);
|
(void)myMenu->Add(idMenuFile, "Save As ...", "", drawMsgGuiSaveAs);
|
||||||
(void)myMenu->AddSpacer();
|
(void)myMenu->AddSpacer();
|
||||||
|
/*
|
||||||
int32_t idMenuEdit = myMenu->AddTitle("Edit");
|
int32_t idMenuEdit = myMenu->AddTitle("Edit");
|
||||||
(void)myMenu->Add(idMenuEdit, "Undo", "", drawMsgGuiUndo);
|
(void)myMenu->Add(idMenuEdit, "Undo", "", drawMsgGuiUndo);
|
||||||
(void)myMenu->Add(idMenuEdit, "Redo", "", drawMsgGuiRedo);
|
(void)myMenu->Add(idMenuEdit, "Redo", "", drawMsgGuiRedo);
|
||||||
|
*/
|
||||||
int32_t idMenuElement = myMenu->AddTitle("Element");
|
int32_t idMenuElement = myMenu->AddTitle("Element");
|
||||||
(void)myMenu->Add(idMenuElement, "Element new", "", drawMsgGuiElementNew);
|
(void)myMenu->Add(idMenuElement, "new mesh", "", drawMsgGuiElementNewMesh);
|
||||||
(void)myMenu->Add(idMenuElement, "Element Remove", "", drawMsgGuiElementRemove);
|
(void)myMenu->Add(idMenuElement, "new circle", "", drawMsgGuiElementNewCircle);
|
||||||
(void)myMenu->Add(idMenuElement, "Element hide/show", "", drawMsgGuiElementHideShow);
|
(void)myMenu->Add(idMenuElement, "new disk", "", drawMsgGuiElementNewDisk);
|
||||||
(void)myMenu->AddSpacer();
|
(void)myMenu->Add(idMenuElement, "new rectangle", "", drawMsgGuiElementNewRectangle);
|
||||||
(void)myMenu->Add(idMenuElement, "Dot Add", "", drawMsgGuiDotAdd);
|
(void)myMenu->Add(idMenuElement, "new polygone", "", drawMsgGuiElementNewPolygone);
|
||||||
(void)myMenu->Add(idMenuElement, "Dot Rm", "", drawMsgGuiDotRm);
|
(void)myMenu->Add(idMenuElement, "Remove", "", drawMsgGuiElementRemove);
|
||||||
(void)myMenu->AddSpacer();
|
(void)myMenu->Add(idMenuElement, "hide/show", "", drawMsgGuiElementHideShow);
|
||||||
(void)myMenu->Add(idMenuElement, "Link Start", "", drawMsgGuiLinkStart);
|
|
||||||
(void)myMenu->Add(idMenuElement, "Link Stop", "", drawMsgGuiLinkStop);
|
|
||||||
|
|
||||||
// generate the display :
|
// generate the display :
|
||||||
ewol::SizerHori * mySizer = new ewol::SizerHori();
|
ewol::SizerHori * mySizer = new ewol::SizerHori();
|
||||||
@ -228,6 +240,13 @@ class MainWindows :public ewol::Windows
|
|||||||
|
|
||||||
RegisterMultiCast(drawMsgGuiOpen);
|
RegisterMultiCast(drawMsgGuiOpen);
|
||||||
RegisterMultiCast(drawMsgGuiSave);
|
RegisterMultiCast(drawMsgGuiSave);
|
||||||
|
RegisterMultiCast(drawMsgGuiElementNewMesh);
|
||||||
|
RegisterMultiCast(drawMsgGuiElementNewCircle);
|
||||||
|
RegisterMultiCast(drawMsgGuiElementNewDisk);
|
||||||
|
RegisterMultiCast(drawMsgGuiElementNewRectangle);
|
||||||
|
RegisterMultiCast(drawMsgGuiElementNewPolygone);
|
||||||
|
RegisterMultiCast(drawMsgGuiElementRemove);
|
||||||
|
RegisterMultiCast(drawMsgGuiElementHideShow);
|
||||||
};
|
};
|
||||||
|
|
||||||
~MainWindows(void)
|
~MainWindows(void)
|
||||||
@ -304,6 +323,16 @@ class MainWindows :public ewol::Windows
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (eventId == drawMsgGuiElementNewMesh) {
|
||||||
|
drawElement::Add(drawElement::DRAW_ELEMENT_TYPE_MESH);
|
||||||
|
} else if (eventId == drawMsgGuiElementNewCircle) {
|
||||||
|
drawElement::Add(drawElement::DRAW_ELEMENT_TYPE_CIRCLE);
|
||||||
|
} else if (eventId == drawMsgGuiElementNewDisk) {
|
||||||
|
drawElement::Add(drawElement::DRAW_ELEMENT_TYPE_DISK);
|
||||||
|
} else if (eventId == drawMsgGuiElementNewRectangle) {
|
||||||
|
drawElement::Add(drawElement::DRAW_ELEMENT_TYPE_RECTANGLE);
|
||||||
|
} else if (eventId == drawMsgGuiElementNewPolygone) {
|
||||||
|
drawElement::Add(drawElement::DRAW_ELEMENT_TYPE_POLYGONE);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
29
jni/elementBase.cpp
Normal file
29
jni/elementBase.cpp
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementBase.h
|
||||||
|
* @brief ewol drawer element Base (header)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <Debug.h>
|
||||||
|
#include <elementBase.h>
|
||||||
|
|
||||||
|
drawElement::Base::Base(const char* type)
|
||||||
|
{
|
||||||
|
m_name = "NoName";
|
||||||
|
m_type = type;
|
||||||
|
m_visible = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
drawElement::Base::~Base(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
52
jni/elementBase.h
Normal file
52
jni/elementBase.h
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementBase.h
|
||||||
|
* @brief ewol drawer element Base (header)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ELEMENT_BASE_H__
|
||||||
|
#define __ELEMENT_BASE_H__
|
||||||
|
|
||||||
|
#include <etk/Types.h>
|
||||||
|
#include <etk/UString.h>
|
||||||
|
#include <ewol/OObject/2DColored.h>
|
||||||
|
|
||||||
|
namespace drawElement {
|
||||||
|
class Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Base(const char* type);
|
||||||
|
virtual ~Base(void);
|
||||||
|
private:
|
||||||
|
etk::UString m_name;
|
||||||
|
const char* m_type;
|
||||||
|
bool m_visible;
|
||||||
|
public:
|
||||||
|
void SetName(etk::UString name) { m_name = name; };
|
||||||
|
etk::UString GetName(void) { return m_name; };
|
||||||
|
const char* GetType(void) { return m_type; };
|
||||||
|
void Show(void) { m_visible = true; };
|
||||||
|
void Hide(void) { m_visible = false; };
|
||||||
|
bool GetVisible(void) { return m_visible; };
|
||||||
|
public:
|
||||||
|
virtual void Draw(ewol::OObject2DColored &OObjects)=0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#include <elementCircle.h>
|
||||||
|
#include <elementDisk.h>
|
||||||
|
#include <elementMesh.h>
|
||||||
|
#include <elementPolygone.h>
|
||||||
|
#include <elementRectangle.h>
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
36
jni/elementCircle.cpp
Normal file
36
jni/elementCircle.cpp
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementCircle.cpp
|
||||||
|
* @brief ewol drawer element Circle (Sources)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <Debug.h>
|
||||||
|
#include <elementBase.h>
|
||||||
|
|
||||||
|
|
||||||
|
drawElement::Circle::Circle(void) : Base("Circle")
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
drawElement::Circle::~Circle(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawElement::Circle::Draw(ewol::OObject2DColored &OObjects)
|
||||||
|
{
|
||||||
|
OObjects.SetColor(1.0, 0.0, 1.0, 1.0);
|
||||||
|
OObjects.Circle(0.2, 0.2, 0.3, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
35
jni/elementCircle.h
Normal file
35
jni/elementCircle.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementCircle.h
|
||||||
|
* @brief ewol drawer element Circle (header)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ELEMENT_CIRCLE_H__
|
||||||
|
#define __ELEMENT_CIRCLE_H__
|
||||||
|
|
||||||
|
namespace drawElement {
|
||||||
|
class Circle : public drawElement::Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Circle(void);
|
||||||
|
virtual ~Circle(void);
|
||||||
|
private:
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual void Draw(ewol::OObject2DColored &OObjects);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
41
jni/elementDisk.cpp
Normal file
41
jni/elementDisk.cpp
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementDisk.cpp
|
||||||
|
* @brief ewol drawer element disk (Sources)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <Debug.h>
|
||||||
|
#include <elementBase.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
drawElement::Disk::Disk(void) : Base("Disk")
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
drawElement::Disk::~Disk(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawElement::Disk::Draw(ewol::OObject2DColored &OObjects)
|
||||||
|
{
|
||||||
|
OObjects.SetColor(0.0, 1.0, 1.0, 1.0);
|
||||||
|
OObjects.Disc(0.7, 0.7, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
35
jni/elementDisk.h
Normal file
35
jni/elementDisk.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementDisk.h
|
||||||
|
* @brief ewol drawer element disk (header)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ELEMENT_DISK_H__
|
||||||
|
#define __ELEMENT_DISK_H__
|
||||||
|
|
||||||
|
namespace drawElement {
|
||||||
|
class Disk : public drawElement::Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Disk(void);
|
||||||
|
virtual ~Disk(void);
|
||||||
|
private:
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual void Draw(ewol::OObject2DColored &OObjects);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
107
jni/elementManager.cpp
Normal file
107
jni/elementManager.cpp
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementManager.cpp
|
||||||
|
* @brief ewol drawer element manager (Sources)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <Debug.h>
|
||||||
|
#include <elementManager.h>
|
||||||
|
#include <etk/VectorType.h>
|
||||||
|
#include <ewol/EObject.h>
|
||||||
|
#include <globalMsg.h>
|
||||||
|
|
||||||
|
static etk::VectorType<drawElement::Base*> l_listElements;
|
||||||
|
|
||||||
|
void drawElement::RemoveAll(void)
|
||||||
|
{
|
||||||
|
for (int32_t iii=l_listElements.Size()-1; iii>=0; iii--) {
|
||||||
|
if (l_listElements[iii]!=NULL) {
|
||||||
|
delete(l_listElements[iii]);
|
||||||
|
l_listElements[iii] = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
l_listElements.Clear();
|
||||||
|
etk::UString tmpString("");
|
||||||
|
ewol::EObjectMessageMultiCast::AnonymousSend(drawMsgListElementChange, tmpString);
|
||||||
|
}
|
||||||
|
|
||||||
|
int32_t drawElement::Size(void)
|
||||||
|
{
|
||||||
|
return l_listElements.Size();
|
||||||
|
}
|
||||||
|
|
||||||
|
drawElement::Base* drawElement::Get(int32_t id)
|
||||||
|
{
|
||||||
|
if (id < l_listElements.Size() && id >=0) {
|
||||||
|
return l_listElements[id];
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawElement::Rm(int32_t id)
|
||||||
|
{
|
||||||
|
if (id < l_listElements.Size() && id >=0) {
|
||||||
|
if (l_listElements[id]!=NULL) {
|
||||||
|
delete(l_listElements[id]);
|
||||||
|
l_listElements[id] = NULL;
|
||||||
|
}
|
||||||
|
l_listElements.Erase(id);
|
||||||
|
}
|
||||||
|
etk::UString tmpString("");
|
||||||
|
ewol::EObjectMessageMultiCast::AnonymousSend(drawMsgListElementChange, tmpString);
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawElement::Add(elementType_te type)
|
||||||
|
{
|
||||||
|
drawElement::Base* newElement = NULL;
|
||||||
|
switch(type) {
|
||||||
|
case drawElement::DRAW_ELEMENT_TYPE_CIRCLE:
|
||||||
|
newElement = new drawElement::Circle();
|
||||||
|
break;
|
||||||
|
case drawElement::DRAW_ELEMENT_TYPE_DISK:
|
||||||
|
newElement = new drawElement::Disk();
|
||||||
|
break;
|
||||||
|
case drawElement::DRAW_ELEMENT_TYPE_MESH:
|
||||||
|
newElement = new drawElement::Mesh();
|
||||||
|
break;
|
||||||
|
case drawElement::DRAW_ELEMENT_TYPE_POLYGONE:
|
||||||
|
newElement = new drawElement::Polygone();
|
||||||
|
break;
|
||||||
|
case drawElement::DRAW_ELEMENT_TYPE_RECTANGLE:
|
||||||
|
newElement = new drawElement::Rectangle();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
DRAW_ERROR("Unknow element type : " << type);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (NULL == newElement) {
|
||||||
|
DRAW_ERROR("Ellocation ERROR in the new element ... ");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
l_listElements.PushBack(newElement);
|
||||||
|
etk::UString tmpString("");
|
||||||
|
ewol::EObjectMessageMultiCast::AnonymousSend(drawMsgListElementChange, tmpString);
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawElement::Up(int32_t id)
|
||||||
|
{
|
||||||
|
|
||||||
|
etk::UString tmpString("");
|
||||||
|
ewol::EObjectMessageMultiCast::AnonymousSend(drawMsgListElementChange, tmpString);
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawElement::Down(int32_t id)
|
||||||
|
{
|
||||||
|
|
||||||
|
etk::UString tmpString("");
|
||||||
|
ewol::EObjectMessageMultiCast::AnonymousSend(drawMsgListElementChange, tmpString);
|
||||||
|
}
|
41
jni/elementManager.h
Normal file
41
jni/elementManager.h
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementManager.h
|
||||||
|
* @brief ewol drawer element manager (header)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ELEMENT_MANAGER_H__
|
||||||
|
#define __ELEMENT_MANAGER_H__
|
||||||
|
|
||||||
|
#include <elementBase.h>
|
||||||
|
|
||||||
|
namespace drawElement {
|
||||||
|
typedef enum {
|
||||||
|
DRAW_ELEMENT_TYPE_CIRCLE,
|
||||||
|
DRAW_ELEMENT_TYPE_DISK,
|
||||||
|
DRAW_ELEMENT_TYPE_MESH,
|
||||||
|
DRAW_ELEMENT_TYPE_POLYGONE,
|
||||||
|
DRAW_ELEMENT_TYPE_RECTANGLE,
|
||||||
|
}elementType_te;
|
||||||
|
|
||||||
|
void RemoveAll(void);
|
||||||
|
int32_t Size(void);
|
||||||
|
drawElement::Base * Get(int32_t id);
|
||||||
|
void Rm(int32_t id);
|
||||||
|
void Add(elementType_te type);
|
||||||
|
void Up(int32_t id);
|
||||||
|
void Down(int32_t id);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
37
jni/elementMesh.cpp
Normal file
37
jni/elementMesh.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementMesh.cpp
|
||||||
|
* @brief ewol drawer element mesh (Sources)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <Debug.h>
|
||||||
|
#include <elementBase.h>
|
||||||
|
|
||||||
|
|
||||||
|
drawElement::Mesh::Mesh(void) : Base("Mesh")
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
drawElement::Mesh::~Mesh(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawElement::Mesh::Draw(ewol::OObject2DColored &OObjects)
|
||||||
|
{
|
||||||
|
OObjects.SetColor(0.0, 1.0, 0.0, 1.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
35
jni/elementMesh.h
Normal file
35
jni/elementMesh.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementMesh.h
|
||||||
|
* @brief ewol drawer element mesh (header)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ELEMENT_MESH_H__
|
||||||
|
#define __ELEMENT_MESH_H__
|
||||||
|
|
||||||
|
namespace drawElement {
|
||||||
|
class Mesh : public drawElement::Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Mesh(void);
|
||||||
|
virtual ~Mesh(void);
|
||||||
|
private:
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual void Draw(ewol::OObject2DColored &OObjects);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
37
jni/elementPolygone.cpp
Normal file
37
jni/elementPolygone.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementPolygone.cpp
|
||||||
|
* @brief ewol drawer element polygone (Sources)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <Debug.h>
|
||||||
|
#include <elementBase.h>
|
||||||
|
|
||||||
|
|
||||||
|
drawElement::Polygone::Polygone(void) : Base("Polygone")
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
drawElement::Polygone::~Polygone(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawElement::Polygone::Draw(ewol::OObject2DColored &OObjects)
|
||||||
|
{
|
||||||
|
OObjects.SetColor(0.0, 0.0, 1.0, 1.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
35
jni/elementPolygone.h
Normal file
35
jni/elementPolygone.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementPolygone.h
|
||||||
|
* @brief ewol drawer element polygone (header)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ELEMENT_POLYGONE_H__
|
||||||
|
#define __ELEMENT_POLYGONE_H__
|
||||||
|
|
||||||
|
namespace drawElement {
|
||||||
|
class Polygone : public drawElement::Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Polygone(void);
|
||||||
|
virtual ~Polygone(void);
|
||||||
|
private:
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual void Draw(ewol::OObject2DColored &OObjects);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
38
jni/elementRectangle.cpp
Normal file
38
jni/elementRectangle.cpp
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementRectangle.cpp
|
||||||
|
* @brief ewol drawer element Rectangle (Sources)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <Debug.h>
|
||||||
|
#include <elementBase.h>
|
||||||
|
|
||||||
|
|
||||||
|
drawElement::Rectangle::Rectangle(void) : Base("Rectangle")
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
drawElement::Rectangle::~Rectangle(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawElement::Rectangle::Draw(ewol::OObject2DColored &OObjects)
|
||||||
|
{
|
||||||
|
OObjects.SetColor(1.0, 0.0, 0.0, 1.0);
|
||||||
|
OObjects.Rectangle(0.5, 0.5, 0.3, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
35
jni/elementRectangle.h
Normal file
35
jni/elementRectangle.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/**
|
||||||
|
*******************************************************************************
|
||||||
|
* @file elementRectangle.h
|
||||||
|
* @brief ewol drawer element Rectangle (header)
|
||||||
|
* @author Edouard DUPIN
|
||||||
|
* @date 14/03/2012
|
||||||
|
* @par Project
|
||||||
|
* EwolDrawer
|
||||||
|
*
|
||||||
|
* @par Copyright
|
||||||
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ELEMENT_RECTANGLE_H__
|
||||||
|
#define __ELEMENT_RECTANGLE_H__
|
||||||
|
|
||||||
|
namespace drawElement {
|
||||||
|
class Rectangle : public drawElement::Base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Rectangle(void);
|
||||||
|
virtual ~Rectangle(void);
|
||||||
|
private:
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual void Draw(ewol::OObject2DColored &OObjects);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -4,5 +4,12 @@ FILE_LIST = Main.cpp \
|
|||||||
Debug.cpp \
|
Debug.cpp \
|
||||||
globalMsg.cpp \
|
globalMsg.cpp \
|
||||||
widgetDrawer.cpp \
|
widgetDrawer.cpp \
|
||||||
|
elementManager.cpp \
|
||||||
|
elementBase.cpp \
|
||||||
|
elementCircle.cpp \
|
||||||
|
elementDisk.cpp \
|
||||||
|
elementMesh.cpp \
|
||||||
|
elementPolygone.cpp \
|
||||||
|
elementRectangle.cpp
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,11 +27,17 @@ extern const char* const drawMsgGuiSaveAs = "draw-Msg-Gui-SaveAs";
|
|||||||
extern const char* const drawMsgGuiUndo = "draw-Msg-Gui-Undo";
|
extern const char* const drawMsgGuiUndo = "draw-Msg-Gui-Undo";
|
||||||
extern const char* const drawMsgGuiRedo = "draw-Msg-Gui-Redo";
|
extern const char* const drawMsgGuiRedo = "draw-Msg-Gui-Redo";
|
||||||
|
|
||||||
extern const char* const drawMsgGuiElementNew = "draw-Msg-Gui-Element-new";
|
extern const char* const drawMsgGuiElementNewMesh = "draw-Msg-Gui-Element-new-mesh";
|
||||||
extern const char* const drawMsgGuiElementRemove = "draw-Msg-Gui-Element-remove";
|
extern const char* const drawMsgGuiElementNewCircle = "draw-Msg-Gui-Element-new-circle";
|
||||||
extern const char* const drawMsgGuiElementHideShow = "draw-Msg-Gui-Element-hide";
|
extern const char* const drawMsgGuiElementNewDisk = "draw-Msg-Gui-Element-new-disk";
|
||||||
extern const char* const drawMsgGuiDotAdd = "draw-Msg-Gui-Dot-Add";
|
extern const char* const drawMsgGuiElementNewRectangle = "draw-Msg-Gui-Element-new-rectangle";
|
||||||
extern const char* const drawMsgGuiDotRm = "draw-Msg-Gui-Dot-Rm";
|
extern const char* const drawMsgGuiElementNewPolygone = "draw-Msg-Gui-Element-new-polygone";
|
||||||
extern const char* const drawMsgGuiLinkStart = "draw-Msg-Gui-Link-Start";
|
extern const char* const drawMsgGuiElementRemove = "draw-Msg-Gui-Element-remove";
|
||||||
extern const char* const drawMsgGuiLinkStop = "draw-Msg-Gui-Link-Stop";
|
extern const char* const drawMsgGuiElementHideShow = "draw-Msg-Gui-Element-hide";
|
||||||
extern const char* const drawMsgGuiLinkNew = "draw-Msg-Gui-Link-New";
|
extern const char* const drawMsgGuiDotAdd = "draw-Msg-Gui-Dot-Add";
|
||||||
|
extern const char* const drawMsgGuiDotRm = "draw-Msg-Gui-Dot-Rm";
|
||||||
|
extern const char* const drawMsgGuiLinkStart = "draw-Msg-Gui-Link-Start";
|
||||||
|
extern const char* const drawMsgGuiLinkStop = "draw-Msg-Gui-Link-Stop";
|
||||||
|
extern const char* const drawMsgGuiLinkNew = "draw-Msg-Gui-Link-New";
|
||||||
|
|
||||||
|
extern const char* const drawMsgListElementChange = "draw-Msg-list_elemeChange";
|
@ -30,7 +30,11 @@
|
|||||||
extern const char* const drawMsgGuiUndo; // data : ""
|
extern const char* const drawMsgGuiUndo; // data : ""
|
||||||
extern const char* const drawMsgGuiRedo; // data : ""
|
extern const char* const drawMsgGuiRedo; // data : ""
|
||||||
|
|
||||||
extern const char* const drawMsgGuiElementNew;
|
extern const char* const drawMsgGuiElementNewMesh;
|
||||||
|
extern const char* const drawMsgGuiElementNewCircle;
|
||||||
|
extern const char* const drawMsgGuiElementNewDisk;
|
||||||
|
extern const char* const drawMsgGuiElementNewRectangle;
|
||||||
|
extern const char* const drawMsgGuiElementNewPolygone;
|
||||||
extern const char* const drawMsgGuiElementRemove;
|
extern const char* const drawMsgGuiElementRemove;
|
||||||
extern const char* const drawMsgGuiElementHideShow;
|
extern const char* const drawMsgGuiElementHideShow;
|
||||||
extern const char* const drawMsgGuiDotAdd;
|
extern const char* const drawMsgGuiDotAdd;
|
||||||
@ -38,6 +42,8 @@
|
|||||||
extern const char* const drawMsgGuiLinkStart;
|
extern const char* const drawMsgGuiLinkStart;
|
||||||
extern const char* const drawMsgGuiLinkStop;
|
extern const char* const drawMsgGuiLinkStop;
|
||||||
extern const char* const drawMsgGuiLinkNew;
|
extern const char* const drawMsgGuiLinkNew;
|
||||||
|
|
||||||
|
extern const char* const drawMsgListElementChange;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -628,6 +628,7 @@ void widgetDrawer::Save(void)
|
|||||||
|
|
||||||
TiXmlElement * element = new TiXmlElement( "element" );
|
TiXmlElement * element = new TiXmlElement( "element" );
|
||||||
element->SetAttribute( "name", "???" );
|
element->SetAttribute( "name", "???" );
|
||||||
|
element->SetAttribute( "type", "mesh" );
|
||||||
mastertElement->LinkEndChild( element );
|
mastertElement->LinkEndChild( element );
|
||||||
|
|
||||||
for(int32_t iii=0; iii<m_dotList.Size() ; iii++) {
|
for(int32_t iii=0; iii<m_dotList.Size() ; iii++) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user