|
|
@ -38,7 +38,9 @@ gboolean cb_window_delete_event (GtkWidget *widget, GdkEvent *event, gpointer
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// setup default values
|
|
|
|
|
|
|
|
//
|
|
|
|
void cb_window_show (GtkWidget *widget, gpointer data) {
|
|
|
|
void cb_window_show (GtkWidget *widget, gpointer data) {
|
|
|
|
GtkWidget *btnstart = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "btn-video-rec"));
|
|
|
|
GtkWidget *btnstart = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "btn-video-rec"));
|
|
|
|
GtkWidget *btnstop = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "btn-video-stop"));
|
|
|
|
GtkWidget *btnstop = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "btn-video-stop"));
|
|
|
@ -50,9 +52,9 @@ void cb_window_show (GtkWidget *widget, gpointer data) {
|
|
|
|
gtk_widget_set_sensitive(btnstart, true);
|
|
|
|
gtk_widget_set_sensitive(btnstart, true);
|
|
|
|
gtk_widget_set_sensitive(btnstop, false);
|
|
|
|
gtk_widget_set_sensitive(btnstop, false);
|
|
|
|
|
|
|
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(w),"600");
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(w),"300");
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(h),"600");
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(h),"300");
|
|
|
|
detect.SetObjectSize(600, 600);
|
|
|
|
detect.SetObjectSize(300, 300);
|
|
|
|
|
|
|
|
|
|
|
|
g_timeout_add(2000, videoctrl_update, NULL);
|
|
|
|
g_timeout_add(2000, videoctrl_update, NULL);
|
|
|
|
};
|
|
|
|
};
|
|
|
@ -117,6 +119,8 @@ gboolean cb_thread_filter (gpointer data) {
|
|
|
|
// this is propabely the object detection
|
|
|
|
// this is propabely the object detection
|
|
|
|
// Access to this data must be Locked before use and pointers must be looked to
|
|
|
|
// Access to this data must be Locked before use and pointers must be looked to
|
|
|
|
gboolean cb_thread_detect (gpointer data) {
|
|
|
|
gboolean cb_thread_detect (gpointer data) {
|
|
|
|
|
|
|
|
GtkWidget *e_x = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "detect-entry-posx"));
|
|
|
|
|
|
|
|
GtkWidget *e_y = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "detect-entry-posy"));
|
|
|
|
DetectOutput *dout = (DetectOutput *) data;
|
|
|
|
DetectOutput *dout = (DetectOutput *) data;
|
|
|
|
int pix_h, pix_w;
|
|
|
|
int pix_h, pix_w;
|
|
|
|
|
|
|
|
|
|
|
@ -126,6 +130,9 @@ gboolean cb_thread_detect (gpointer data) {
|
|
|
|
if (dout == NULL) return false;
|
|
|
|
if (dout == NULL) return false;
|
|
|
|
if (dout->image == NULL) return false;
|
|
|
|
if (dout->image == NULL) return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(e_x), std::to_string(dout->posx).c_str());
|
|
|
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(e_y), std::to_string(dout->posy).c_str());
|
|
|
|
|
|
|
|
|
|
|
|
detect.LockImageMutex();
|
|
|
|
detect.LockImageMutex();
|
|
|
|
|
|
|
|
|
|
|
|
if (detect_pixbuf) {
|
|
|
|
if (detect_pixbuf) {
|
|
|
@ -156,6 +163,7 @@ gboolean cb_thread_detect (gpointer data) {
|
|
|
|
void cb_imagetempda_draw(GtkWidget *area, cairo_t *cr, int w, int h, gpointer data) {
|
|
|
|
void cb_imagetempda_draw(GtkWidget *area, cairo_t *cr, int w, int h, gpointer data) {
|
|
|
|
int clientw, clienth, pixbufw, pixbufh;
|
|
|
|
int clientw, clienth, pixbufw, pixbufh;
|
|
|
|
float clientar, pixbufar;
|
|
|
|
float clientar, pixbufar;
|
|
|
|
|
|
|
|
GdkRGBA color;
|
|
|
|
|
|
|
|
|
|
|
|
GdkPixbuf *pixbuf = NULL;
|
|
|
|
GdkPixbuf *pixbuf = NULL;
|
|
|
|
GdkPixbuf *src = NULL;
|
|
|
|
GdkPixbuf *src = NULL;
|
|
|
@ -183,13 +191,12 @@ void cb_imagetempda_draw(GtkWidget *area, cairo_t *cr, int w, int h, gpointer da
|
|
|
|
gdk_cairo_set_source_pixbuf(cr, pixbuf, 0, 0);
|
|
|
|
gdk_cairo_set_source_pixbuf(cr, pixbuf, 0, 0);
|
|
|
|
cairo_paint(cr);
|
|
|
|
cairo_paint(cr);
|
|
|
|
cairo_fill (cr);
|
|
|
|
cairo_fill (cr);
|
|
|
|
|
|
|
|
|
|
|
|
g_object_unref (pixbuf);
|
|
|
|
g_object_unref (pixbuf);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void cb_detect_btnset (GtkWidget *widget, gpointer data) {
|
|
|
|
void cb_detect_btnsetsize (GtkWidget *widget, gpointer data) {
|
|
|
|
// GtkWidget *txtx = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "detect-entry-x"));
|
|
|
|
|
|
|
|
// GtkWidget *txty = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "detect-entry-y"));
|
|
|
|
|
|
|
|
GtkWidget *txtw = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "detect-entry-w"));
|
|
|
|
GtkWidget *txtw = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "detect-entry-w"));
|
|
|
|
GtkWidget *txth = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "detect-entry-h"));
|
|
|
|
GtkWidget *txth = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "detect-entry-h"));
|
|
|
|
|
|
|
|
|
|
|
|