@ Moudy I can try to find a source for this example (a HEllo World example)
but it will be un-related to the Hex editor -converter dipicted in the screen shot.
if thats ok? ; I will attach it to this messge when I have it together.
here is an alternate example of GetString using OpenGL and windows library
-So in function the *strng is updated (represinting a Line) via the stream buffer gBuff [ ]
-when the return key check (rtrn) is (>) greater then (Order) ; the function returns the string length of *strng -
and stops updating the *strng
the reason it looks this way is because it is meant to be inserted into a windows Loop or Application window Loop.
functions that are inside a window are a little different then the normal console apps' sometimes.
-class interface design-
class GLText
public:
int BuffPos, sBuffPos,
First, Count1, Count2;
unsigned int base;
unsigned int m_fontListBase;
GLYPHMETRICSFLOAT gmf[256]; // holds orientation and placement
// info for display lists
GLText();
~GLText();
bool Init(char *fontname, int fontsize, float depth);
unsigned int CreateOutlineFont(char *fontname, int fontsize, float depth);
void PositionFont(float xPos, float yPos, float zPos);
void PrintFont(int order, const char *__format, ...);
void CenterFont();
void ReleaseFont(unsigned int base);
int ScanFont(int order, const char *__format, ...);
void NewLine(float Mult = 1, float X = 0, float Y = 0, float Z = 0, char *Direction = "down");
bool Shutdown();
void Return0(void *var, char *type, int elms); //same as memset (...) for string
int GetString(int Order, char *strng);
int rtrn;
char *pBuff;
char *sBuff;
char *gBuff;
char text[256];
int GLText::GetString(int Order, char *strng)
{
if(Order<=rtrn)
{
if (Order == rtrn )
{
glPushAttrib(GL_LIST_BIT);
glListBase(base);
glCallLists(strlen(gBuff), GL_UNSIGNED_BYTE, gBuff);
glPopAttrib();
strng[BuffPos] = gBuff[BuffPos];
strcpy(strng, gBuff);
return 0;
}
else
if(Order <= rtrn)
{
glPushAttrib(GL_LIST_BIT);
glListBase(base);
glCallLists(strlen(strng), GL_UNSIGNED_BYTE, strng);
glPopAttrib();
return strlen(strng);
}
return 0;
}
else
return strlen(strng);
}
I attached the class function def source code in src.cpp.txt
you will need to use your knowledge of C++ to piece them together for compilation/debugging/porting or use in another instance.
You can do 1 of 2 things with it
1. you could just include (src.cpp) it to the appended end of the class body Def?
2. precompile it and link it with the H and the Main.cpp with the OBJ file
(this also includes letting microsofts visual studio LInk the resources with (h/cpp))
Summary:
this class will allow you, if you are using openGL (v1.0 or greater) 3d perspectives or ortho (ithink), a pixel pallete window application (WIN32); To draw 3d text on to the screen. Givin also the interface' to use input/output UI via keyboard or simulair (drivin) hardware.
--another requirement is that the window(x/s) APP must have a procedure for handling the window and its messeges--
your skill level needs to be intermediate to advanced to understand how to compile or port this into your own apps.
creating a window App is not an easy task for the beginner. You need to understand your own compiler and interfaces,
and some compiler's dont always have the nessesary DLL's included in its default libraies; so sometimes you need to know how to
find them and import them.