MPSolve 3.2.1
Loading...
Searching...
No Matches
iteration-logger.h
1#include <mps/mps.h>
2#include <gtk/gtk.h>
3
4G_BEGIN_DECLS
5
6#if GTK_MAJOR_VERSION < 3
7
8#ifndef gtk_widget_get_allocated_width
9#define gtk_widget_get_allocated_width(widget) (widget->allocation.width)
10#endif
11
12#ifndef gtk_widget_get_allocated_height
13#define gtk_widget_get_allocated_height(widget) (widget->allocation.height)
14#endif
15
16#endif
17
18#ifndef MPS_ITERATION_LOGGER_H_
19#define MPS_ITERATION_LOGGER_H_
20
21#define MPS_TYPE_ITERATION_LOGGER (mps_iteration_logger_get_type ())
22#define MPS_ITERATION_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MPS_TYPE_ITERATION_LOGGER, MpsIterationLogger))
23#define MPS_IS_ITERATION_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MPS_TYPE_ITERATION_LOGGER))
24#define MPS_ITERATION_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MPS_TYPE_ITERATION_LOGGER, MpsIterationLoggerClass))
25#define MAMAN_IS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MPS_TYPE_ITERATION_LOGGER))
26#define MPS_ITERATION_LOGGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MPS_TYPE_ITERATION_LOGGER, MpsIterationLoggerClass)))
27
28typedef struct _MpsIterationLogger MpsIterationLogger;
29typedef struct _MpsIterationLoggerClass MpsIterationLoggerClass;
30
32 GtkWindow parent_instance;
33
34 /* <private declarations>*/
35 GtkWidget * drawing_area;
36 guint timeout_source;
37 mps_context * ctx;
38
39 gboolean drawing;
40
41 /* Scale of the plot */
42 double x_scale;
43 double y_scale;
44
45 mps_approximation ** approximations;
46 int degree;
47
48 /* Handling of the zomming process */
49 gboolean zooming;
50 gint zoom_rect_x;
51 gint zoom_rect_y;
52
53 double real_center;
54 double imag_center;
55
56 gboolean exit;
57
58 pthread_mutex_t *drawing_lock;
59
60 /* True until the first draw operation is performed. */
61 gboolean first_draw;
62};
63
65 GtkWindowClass parent_class;
66};
67
68GType mps_iteration_logger_get_type (void);
69
73MpsIterationLogger* mps_iteration_logger_new (void);
74
79void mps_iteration_logger_set_mps_context (MpsIterationLogger * logger, mps_context * context);
80
84void mps_iteration_logger_set_roots (MpsIterationLogger * logger, mps_approximation ** approximations, int degree);
85
89void mps_iteration_logger_set_zoom (MpsIterationLogger * logger,
90 double x_scale,
91 double y_scale);
92
93
94#endif
95
96G_END_DECLS
97
98
Header file for libmps.
Definition: iteration-logger.h:64
Definition: iteration-logger.h:31
Definition: approximation.h:24
this struct holds the state of the mps computation
Definition: context.h:55