If you want to work within an OpenGL window, sliceOmatic provide a number of useful functions.
Function to open and close an OpenGL context
Function to generate text
Function to draw icons and gizmos
void OpenGL_Draw_Slider(
int cur,
short p_x, short p_y,
short d_x, short d_y
) ;
void OpenGL_Draw_PlusMinus(
unsigned char flag,
short x, short y
) ;
void OpenGL_Draw_CircleSlash(
short x, short y
) ;
void OpenGL_Draw_Icon(
short start_x, short start_y,
short dim_x, short dim_y,
char *name
) ;
void OpenGL_Draw_Sphere(
SliceO_Window *window,
unsigned long color,
Point_3D pos,
float size,
int precision
char *name
) ;
void OpenGL_Draw_Sphere(
int precision
) ;
// --- in ogl_marker.cpp ---
void OpenGL_Draw_Marker(
SliceO_Window *window,
unsigned long color,
Point_2D pos,
float size,
char *texture
char *name
) ;
void OpenGL_Draw_Gizmo_Data(
SliceO_Window *window,
char *str,
Point_2D *pos_wnd,
Point_2D *offset,
float angle,
float dim_x, float dim_y,
unsigned int color,
char flag_3D
) ;
void OpenGL_Draw_Gizmo_Arrow(
SliceO_Window *window,
Point_2D *pos_wnd,
float angle,
float size,
unsigned int color=0x0FFFFFF,
char flag_3D=1
) ;
void OpenGL_Draw_Gizmo_Bump(
SliceO_Window *window,
Point_2D *pos_wnd,
float angle,
float size,
unsigned int color=0x0FFFFFF,
char flag_3D=1
) ;
void OpenGL_Draw_Gizmo_Target(
SliceO_Window *window,
Point_2D *pos_wnd,
float angle,
float size,
unsigned int color=0x0FFFFFF,
char flag_3D=1
) ;
void OpenGL_Draw_Gizmo_Draw(
Point_2D *wnd_pos,
float angle,
float size
) ;
int OpenGL_Draw_Gizmo_Read(
unsigned int *text,
char *name,
unsigned short min_opacity=0
) ;