|  | A fuzzy logic C++ library | 
glue code between slifis gapi interface (header file gapi_glue.hpp), which defines some datatypes, and the back-end graphical and windowing library. More...
#include <cassert>#include <cmath>#include "gapi_glue.hpp"#include "error_handler.hpp"#include "debug.h"#include <cstring> Include dependency graph for gapi_glue.cpp:
 Include dependency graph for gapi_glue.cpp:| Classes | |
| struct | slifis_plot::FCOLOR | 
| private 'float' color-type ([0.0-1.0]), needed for Cairo drawing functions  More... | |
| Namespaces | |
| namespace | slifis_plot | 
| This namespace includes both the set of interface functions to the backend graphical library and the plot classes, see Slifis Graphical API for plotting. | |
| Defines | |
| #define | SLIFIS_FONTSIZE 0.4 | 
| Font size scale (used only in Opencv backend) | |
| #define | GAPI_TRACE if(0) std::cerr | 
| Private macro for logging. | |
| #define | GAPI_LOG if(0) std::cerr | 
| #define | GAPI_ERROR std::cerr << | 
| Functions | |
| CAIRO_GLOBALS & | slifis_plot::cairo_globals () | 
| Static allocation of cairo-related static stuff, using idiom "Construct On First Use". | |
| static GAPI_gtk_window * | slifis_plot::FindWindowByName (const std::string &name) | 
| Auxiliary private function. | |
| static void | slifis_plot::RemoveWindowByName (const std::string &name) | 
| Auxiliary private function. | |
| static gboolean | slifis_plot::cb_OnKeyPress (GtkWidget *, GdkEventKey *event, gpointer) | 
| Callback fo GTK window. | |
| static gboolean | slifis_plot::generic_mouse_callback (GtkWidget *, GdkEvent *event, gpointer user_data) | 
| A generic mouse callback (GTK+ flavor) whose job is to call the user callback. | |
| static void | slifis_plot::Paint (GtkWidget *widget, GAPI_IMAGE *im) | 
| Paints the image in the gtk+ window. | |
| static gboolean | slifis_plot::cb_expose_event (GtkWidget *widget, GdkEventExpose *, gpointer image) | 
| callback for GTK+ backend, actually draws the image in the GTK+ window | |
| static FCOLOR | slifis_plot::ConvertColor (GAPI_COLOR &col) | 
| Static utility for converting 'byte' color-type ([0-255]) to 'float' color-type ([0.0-1.0]), needed for Cairo API. | |
| Data-types handling | |
| GAPI_POINT | slifis_plot::GAPI_BuildPoint (int x0, int y0) | 
| C-style constructor for point. | |
| GAPI_COLOR | slifis_plot::GAPI_BuildColor (char r, char g, char b) | 
| C-style constructor for color. | |
| GAPI_IMAGE * | slifis_plot::GAPI_CreateImage (int w, int h) | 
| void | slifis_plot::GAPI_ReleaseImage (GAPI_IMAGE **p_im) | 
| Windowing and user-interface related functions | |
| void | slifis_plot::GAPI_CreateWindow (std::string name, int x0, int y0) | 
| Open a window. | |
| void | slifis_plot::GAPI_DestroyWindow (std::string wnd_name) | 
| Destroy the window wnd_name. | |
| void | slifis_plot::GAPI_MoveWindow (std::string wnd_name, int x, int y) | 
| Moves the window wnd_name. | |
| bool | slifis_plot::GAPI_WindowIsOpen (std::string name) | 
| Returns true if window is open (GTK2 version) | |
| void | slifis_plot::GAPI_AssignCallback (std::string wnd_name, void(*userMouseCB)(int event, int x, int y, int flags, void *param), void *param) | 
| Assigns the user mouse callback userMouseCBto windowwnd_name. | |
| char | slifis_plot::GAPI_WaitKey () | 
| Blocking function, until a key is pressed. | |
| void | slifis_plot::GAPI_ShowImage (std::string wnd_name, GAPI_IMAGE *im) | 
| Draw image on GTK window. | |
| Misc. | |
| void | slifis_plot::GAPI_Init (int argc, char **argv) | 
| Initialize the gtk windowing engine. Called each time a window is created. | |
| int | slifis_plot::GAPI_GetImageW (GAPI_IMAGE *p_im) | 
| int | slifis_plot::GAPI_GetImageH (GAPI_IMAGE *p_im) | 
| void | slifis_plot::GAPI_GetTextSize (GAPI_IMAGE *im, const std::string &txt, GAPI_FONT *, int &t_w, int &t_h) | 
| Returns size of text txt(Cairo version) | |
| GAPI_FONT * | slifis_plot::GAPI_InitFont () | 
| Initializes font for drawing text (Cairo version, does nothing) | |
| bool | slifis_plot::GAPI_SaveImage (std::string filename, GAPI_IMAGE *im) | 
| Saves image to file, returns false on failure. | |
| Drawing-related functions | |
| void | slifis_plot::GAPI_DrawRectangle (GAPI_IMAGE *p_im, GAPI_POINT p1, GAPI_POINT p2, GAPI_COLOR col, bool is_filled) | 
| Draw rectangle (Cairo version) | |
| void | slifis_plot::GAPI_DrawLine (GAPI_IMAGE *p_im, GAPI_POINT p1, GAPI_POINT p2, GAPI_COLOR col, int line_width, EN_LINE_TYPE) | 
| Draw line (Cairo version) | |
| void | slifis_plot::GAPI_DrawCircle (GAPI_IMAGE *p_im, GAPI_POINT p, double rad, GAPI_COLOR col, int line_width) | 
| Draw circle (Cairo version) | |
| void | slifis_plot::GAPI_FillImage (GAPI_IMAGE *im, GAPI_COLOR col) | 
| Fill image imwith colorcol(Cairo version) | |
| void | slifis_plot::GAPI_DrawText (GAPI_IMAGE *p_im, std::string txt, GAPI_POINT p, GAPI_FONT *, GAPI_COLOR col, EN_TEXT_ORIENTATION txt_or) | 
| Draws text on image (cairo version) | |
glue code between slifis gapi interface (header file gapi_glue.hpp), which defines some datatypes, and the back-end graphical and windowing library.
The choice of library is done through preprocessor symbols, defined in makefile. At present, the available choices are:
| #define SLIFIS_FONTSIZE 0.4 | 
Font size scale (used only in Opencv backend)
| #define GAPI_TRACE if(0) std::cerr | 
Private macro for logging.
Referenced by slifis_plot::cb_expose_event(), slifis_plot::cb_OnKeyPress(), slifis_plot::GAPI_AssignCallback(), slifis_plot::GAPI_CreateImage(), slifis_plot::GAPI_CreateWindow(), slifis_plot::GAPI_DestroyWindow(), slifis_plot::GAPI_ReleaseImage(), slifis_plot::GAPI_ShowImage(), slifis_plot::generic_mouse_callback(), and slifis_plot::Paint().
| #define GAPI_LOG if(0) std::cerr | 
| #define GAPI_ERROR std::cerr << | 
 1.7.6.1
 1.7.6.1