summaryrefslogtreecommitdiffstats
path: root/friendfinder
diff options
context:
space:
mode:
authorPatrick Hornecker2009-12-29 15:36:14 +0100
committerPatrick Hornecker2009-12-29 15:36:14 +0100
commit6eacfc22762e5596815bc8d7bb1d861522b854d1 (patch)
tree1ebb079c9a7f0635d29b911e814cc24d3e13d397 /friendfinder
parentnew files for drawing of the map (diff)
downloadfriendfinder-6eacfc22762e5596815bc8d7bb1d861522b854d1.tar.gz
friendfinder-6eacfc22762e5596815bc8d7bb1d861522b854d1.tar.xz
friendfinder-6eacfc22762e5596815bc8d7bb1d861522b854d1.zip
drawing of user positions
Diffstat (limited to 'friendfinder')
-rw-r--r--friendfinder/Makefile.inc1
-rw-r--r--friendfinder/draw_user.c26
-rw-r--r--friendfinder/draw_user.h11
-rw-r--r--friendfinder/gui.c78
-rw-r--r--friendfinder/gui.h4
-rw-r--r--friendfinder/map.c0
-rw-r--r--friendfinder/map.h0
-rw-r--r--friendfinder/receiver.c10
-rw-r--r--friendfinder/sender.c4
9 files changed, 75 insertions, 59 deletions
diff --git a/friendfinder/Makefile.inc b/friendfinder/Makefile.inc
index 87fba13..f05f240 100644
--- a/friendfinder/Makefile.inc
+++ b/friendfinder/Makefile.inc
@@ -13,6 +13,7 @@ LIBS = -ledje -lecore -levas -lelementary -lircclient -lcrypto -lproj -lpthread
OBJECTS = msg_sender.o
OBJECTS += gui.o
+OBJECTS += draw_user.o
OBJECTS += handler.o
OBJECTS += receiver.o
OBJECTS += sender.o
diff --git a/friendfinder/draw_user.c b/friendfinder/draw_user.c
new file mode 100644
index 0000000..d9c493a
--- /dev/null
+++ b/friendfinder/draw_user.c
@@ -0,0 +1,26 @@
+#include "Evas.h"
+#include "Elementary.h"
+
+#include "receiver.h"
+#include "gui.h"
+
+int _h= 600;
+int _w = 450;
+
+Evas_Object *win, *map;
+
+void init_draw_user(Evas_Object *_win, Evas_Object *_map)
+{
+ win = _win;
+ map = _map;
+}
+
+void draw_user(struct position *pos)
+{
+ double lat, lon;
+ lat = atof(pos->lat);
+ lon = atof(pos->lon);
+
+ e_smart_map_overlay_set_bubble(map, "routing", pos->nick, pos->nick, lat, lon, 0xffffffff);
+}
+
diff --git a/friendfinder/draw_user.h b/friendfinder/draw_user.h
new file mode 100644
index 0000000..d59d05e
--- /dev/null
+++ b/friendfinder/draw_user.h
@@ -0,0 +1,11 @@
+#ifndef __DRAW_USER_H_
+#define __DRAW_USER_H_
+
+#include "Evas.h"
+#include "receiver.h"
+
+void init_draw_user(Evas_Object *_win, Evas_Object *_map);
+
+void draw_user(struct position *pos);
+
+#endif
diff --git a/friendfinder/gui.c b/friendfinder/gui.c
index 19a24e9..6680937 100644
--- a/friendfinder/gui.c
+++ b/friendfinder/gui.c
@@ -52,6 +52,8 @@ static void on_chat(void *data, Evas_Object *obj, void *event_info)
static void on_map(void *data, Evas_Object *obj, void *event_info)
{
init_map();
+ /* init user drawing on map */
+ init_draw_user(win, map);
}
static void on_options(void *data, Evas_Object *obj, void *event_info)
@@ -170,14 +172,6 @@ char* get_current_time()
return text;
}
-void print_users(struct position *pos)
-{
- Evas_Object *ic;
-
- elm_icon_add(map);
- elm_icon_file_set(ic, "data/sl_bt_0.png", NULL);
- evas_object_show(ic);
-}
/* sets the username, time-text and the text in the bubble */
void set_bubble_text(Evas_Object *bb, char *username, char *text)
@@ -332,26 +326,11 @@ void init_options()
evas_object_smart_callback_add(bt, "clicked", NULL, NULL);
evas_object_show(bt);
*/
- bt2 = elm_button_add(win);
- elm_button_label_set(bt2, "Send own position");
- evas_object_size_hint_weight_set(bt2, 1.0, 0.2);
- evas_object_size_hint_align_set(bt2, -1.0, -1.0);
- elm_box_pack_end(bx, bt2);
- evas_object_smart_callback_add(bt2, "clicked", on_own_position, NULL);
- evas_object_show(bt2);
-
- bt3 = elm_button_add(win);
- elm_button_label_set(bt3, "Show other users");
- evas_object_size_hint_weight_set(bt3, 1.0, 0.2);
- evas_object_size_hint_align_set(bt3, -1.0, -1.0);
- elm_box_pack_end(bx, bt3);
- evas_object_smart_callback_add(bt3, "clicked", on_show_users, NULL);
- evas_object_show(bt3);
}
void init_map()
{
- Evas_Object *bg, *bx, *bx2, *bx3, *bt;
+ Evas_Object *bg, *bx, *bx2, *bx3, *bt, *bt2, *bt3;
struct polyline *pl = polyline_empty();
polyline_set_color(pl, 255, 0, 0, 50);
polyline_set_width(pl, 10);
@@ -374,18 +353,10 @@ void init_map()
bx2 = elm_box_add(win);
evas_object_size_hint_weight_set(bx2, 0.5, 0.2);
evas_object_size_hint_align_set(bx2, -1.0, -1.0);
- evas_object_resize(bx2, w*1.3, h*0.5);
+ evas_object_resize(bx2, w*0.97, h*0.6);
elm_box_pack_end(bx, bx2);
evas_object_show(bx2);
- bx3 = elm_box_add(win);
- elm_box_horizontal_set(bx2, 1);
- evas_object_size_hint_weight_set(bx3, 1.0, 0.0);
- evas_object_size_hint_align_set(bx3, -1.0, 0.0);
- evas_object_resize(bx3, w*0.9, h*0.1);
- elm_box_pack_end(bx, bx3);
- evas_object_show(bx3);
-
map = e_smart_map_add(win, "data/maps/fr_map.eet");
e_smart_map_set_theme(map, "themes/map.edj", "main");
e_smart_map_set_pos(map, 47.996578, 7.840171);
@@ -395,26 +366,29 @@ void init_map()
elm_box_pack_end(bx2, map);
evas_object_show(map);
-
- struct point p, p2;
-
- p.lat = 47.996578;
- p.lon = 7.840171;
-
- p2.lat = 47.996593;
- p2.lon = 7.840201;
+ bt = elm_button_add(win);
+ elm_button_label_set(bt, "Send own position");
+ evas_object_size_hint_weight_set(bt2, 1.0, 1.0);
+ evas_object_size_hint_align_set(bt2, -1.0, -1.0);
+ elm_box_pack_end(bx, bt);
+ evas_object_smart_callback_add(bt, "clicked", on_own_position, NULL);
+ evas_object_show(bt);
- polyline_add_point(pl, p);
- polyline_add_point(pl, p2);
- e_smart_map_add_path(map, pl);
+ bt2 = elm_button_add(win);
+ elm_button_label_set(bt2, "Show other users");
+ evas_object_size_hint_weight_set(bt2, 1.0, 1.0);
+ evas_object_size_hint_align_set(bt2, -1.0, -1.0);
+ elm_box_pack_end(bx, bt2);
+ evas_object_smart_callback_add(bt2, "clicked", on_show_users, NULL);
+ evas_object_show(bt2);
- bt = elm_button_add(win);
- elm_button_label_set(bt, "Exit");
- evas_object_size_hint_weight_set(bt, 1.0, 1.0);
- evas_object_size_hint_align_set(bt, -1.0, -1.0);
- elm_box_pack_end(bx3, bt);
- evas_object_smart_callback_add(bt, "clicked", on_cancel, NULL);
- evas_object_show(bt);
+ bt3 = elm_button_add(win);
+ elm_button_label_set(bt3, "Exit");
+ evas_object_size_hint_weight_set(bt3, 1.0, 1.0);
+ evas_object_size_hint_align_set(bt3, -1.0, -1.0);
+ elm_box_pack_end(bx, bt3);
+ evas_object_smart_callback_add(bt3, "clicked", on_cancel, NULL);
+ evas_object_show(bt3);
}
void init_buttons(Evas_Object *box)
@@ -461,7 +435,9 @@ void elm_main ()
/* show the window */
evas_object_show(win);
+ /* start the message sender thread */
init_msg_thread(from, to);
+
/* get going and draw/respond to the user */
elm_run();
diff --git a/friendfinder/gui.h b/friendfinder/gui.h
index 67235c3..66385d6 100644
--- a/friendfinder/gui.h
+++ b/friendfinder/gui.h
@@ -1,6 +1,7 @@
#ifndef __GUI_H_
#define __GUI_H_
+
#include "receiver.h"
#include "Evas.h"
//structs
@@ -18,6 +19,9 @@ static void on_chat(void *data, Evas_Object *obj, void *event_info);
static void on_map(void *data, Evas_Object *obj, void *event_info);
*/
+int h= 600;
+int w = 450;
+
//other functions
void set_bubble_text(Evas_Object *bb, char *username, char *text);
void show_message(char *current_msg);
diff --git a/friendfinder/map.c b/friendfinder/map.c
deleted file mode 100644
index e69de29..0000000
--- a/friendfinder/map.c
+++ /dev/null
diff --git a/friendfinder/map.h b/friendfinder/map.h
deleted file mode 100644
index e69de29..0000000
--- a/friendfinder/map.h
+++ /dev/null
diff --git a/friendfinder/receiver.c b/friendfinder/receiver.c
index d50b9ff..c9a030f 100644
--- a/friendfinder/receiver.c
+++ b/friendfinder/receiver.c
@@ -5,7 +5,7 @@
#include <libircclient/libircclient.h>
#include "openssl/blowfish.h"
-#include "gui.h"
+#include "draw_user.h"
static irc_session_t *session;
irc_callbacks_t callbacks;
@@ -46,14 +46,12 @@ void disconnect_receiver()
void dump_data(char* lat, char* lon, char* nick)
{
- /*
- struct postion *pos = (struct postion*) malloc(sizeof(struct position));
+ struct position *pos = (struct position*) malloc(sizeof(struct position));
pos->lat = lat;
- pos->lon = lon;
+ pos->lon = lon;
pos->nick = nick;
- print_users(pos);
- */
+ draw_user(pos);
}
void get_position(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
diff --git a/friendfinder/sender.c b/friendfinder/sender.c
index 6652afb..f8abd31 100644
--- a/friendfinder/sender.c
+++ b/friendfinder/sender.c
@@ -82,7 +82,7 @@ void send_position(irc_session_t * session, const char * event, const char * ori
unsigned char lat_char[8];
sprintf(lat_char, "%i", lat);
- unsigned char lon_char[8];
+ unsigned char *lon_char[8];
sprintf(lon_char, "%i", lon);
BF_ecb_encrypt(lat_char, crypted_lat, &key, BF_ENCRYPT);
@@ -96,7 +96,7 @@ void send_position(irc_session_t * session, const char * event, const char * ori
if (_x == 0 && _y == 0)
{
- printf("SENDER: send succesfull %i %i \n", lat, lon);
+ // printf("SENDER: send succesfull %i %i \n", lat, lon);
}
if (_y != 0)