Move to gitHub the edn project (remove history keep it on my nas)
This commit is contained in:
95
Sources/tools/Display/Display.h
Normal file
95
Sources/tools/Display/Display.h
Normal file
@@ -0,0 +1,95 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* @file Display.h
|
||||
* @brief Editeur De N'ours : Basic Pixbuf display function (header)
|
||||
* @author Edouard DUPIN
|
||||
* @date 21/01/2010
|
||||
* @par Project
|
||||
* Edn
|
||||
*
|
||||
* @par Copyright
|
||||
* Copyright 2010 Edouard DUPIN, all right reserved
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY.
|
||||
*
|
||||
* Licence summary :
|
||||
* You can modify and redistribute the sources code and binaries.
|
||||
* You can send me the bug-fix
|
||||
* You can not earn money with this Software (if the source extract from Edn
|
||||
* represent less than 50% of original Sources)
|
||||
* Term of the licence in in the file licence.txt.
|
||||
*
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef __TOOLS_DISPLAY_H__
|
||||
#define __TOOLS_DISPLAY_H__
|
||||
|
||||
#include "tools_debug.h"
|
||||
#include "Colorize.h"
|
||||
#include "ColorizeManager.h"
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
/**
|
||||
* Basic namespace for the font display system
|
||||
*/
|
||||
namespace Display
|
||||
{
|
||||
void Init(void);
|
||||
void UnInit(void);
|
||||
cairo_font_face_t * GetFont(bool bold, bool italic);
|
||||
int32_t GetFontHeight(void);
|
||||
int32_t GetFontWidth(void);
|
||||
};
|
||||
|
||||
#define MAX_CARACTER_CYCLE (512)
|
||||
/**
|
||||
* class to abstrate the writing on the curent GUI (INTEFACE to be no dependent of the one chosen)
|
||||
*/
|
||||
class DrawerManager;
|
||||
|
||||
class DrawerManager {
|
||||
public:
|
||||
// Constructeur
|
||||
DrawerManager(GtkWidget * widget, int32_t x, int32_t y);
|
||||
~DrawerManager();
|
||||
|
||||
void Rectangle(Colorize *SelectColor, int32_t x, int32_t y, int32_t width, int32_t height);
|
||||
void Rectangle(color_ts & SelectColor, int32_t x, int32_t y, int32_t width, int32_t height) {
|
||||
DirectRectangle(SelectColor, x, y, width, height);
|
||||
}
|
||||
void Clean(Colorize *SelectColor);
|
||||
void Clean(color_ts & SelectColor);
|
||||
void Text(Colorize *SelectColor, int32_t x, int32_t y,const char *myUTF8Text, int32_t len = -1);
|
||||
void Text(color_ts & SelectColorFg, color_ts & SelectColorBg, int32_t x, int32_t y,const char *myText);
|
||||
void Text(color_ts & SelectColorFg, int32_t x, int32_t y,const char *myText);
|
||||
void SpaceText(color_ts & SelectColor, int32_t x, int32_t y,int32_t nbChar);
|
||||
void Cursor(int32_t x, int32_t y);
|
||||
void EndOfLine(int32_t x, int32_t y);
|
||||
void Tabulation(Colorize *SelectColor, int32_t x, int32_t y, int32_t mbColomn);
|
||||
void UTF8UnknownElement(Colorize *SelectColor, int32_t x, int32_t y, int8_t utf8Size, bool ValidUtf8);
|
||||
void Flush(void);
|
||||
int32_t GetWidth(void) { return m_size.x; };
|
||||
int32_t GetHeight(void) { return m_size.y; };
|
||||
|
||||
private:
|
||||
void DirectRectangle(Colorize *SelectColor, int32_t x, int32_t y, int32_t width, int32_t height);
|
||||
void DirectRectangle(color_ts & SelectColor, int32_t x, int32_t y, int32_t width, int32_t height);
|
||||
|
||||
bool m_haveWork; //!< if data might be print (true)
|
||||
char m_dataToDisplay[MAX_CARACTER_CYCLE]; //!< curent string to display
|
||||
uint32_t m_nbElement; //!< nb element in the string
|
||||
position_ts m_pos; //!< position where start the string display (X,Y)
|
||||
Colorize * m_selectColor; //!< curent color to display
|
||||
|
||||
position_ts m_size; //!< Total size
|
||||
cairo_t * m_cairo; //!< Cairo Layout pointer
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user