Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_fb
Modified Files:
Tag: SPLIT
Ecore_Fb.h ecore_fb.c
Log Message:
ooooooops.. thats better!
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_fb/Attic/Ecore_Fb.h,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -3 -r1.1.2.1 -r1.1.2.2
--- Ecore_Fb.h 11 Feb 2003 06:27:09 -0000 1.1.2.1
+++ Ecore_Fb.h 12 Feb 2003 04:40:32 -0000 1.1.2.2
@@ -1,6 +1,11 @@
#ifndef _ECORE_FB_H
#define _ECORE_FB_H
+/* FIXME:
+ * add
+ * - code to qury fb size (width * height)
+ */
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -51,7 +56,8 @@
void ecore_fb_double_click_time_set(double t);
double ecore_fb_double_click_time_get(void);
-
+
+void ecore_fb_size_get(int *w, int *h);
#ifdef __cplusplus
}
#endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_fb/Attic/ecore_fb.c,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -3 -r1.1.2.1 -r1.1.2.2
--- ecore_fb.c 11 Feb 2003 06:27:09 -0000 1.1.2.1
+++ ecore_fb.c 12 Feb 2003 04:40:32 -0000 1.1.2.2
@@ -12,6 +12,7 @@
#include <sys/ioctl.h>
#include <linux/kd.h>
#include <linux/vt.h>
+#include <linux/fb.h>
#include <sys/ioctl.h>
typedef struct _Ecore_Fb_Ts_Event Ecore_Fb_Ts_Event;
@@ -33,6 +34,7 @@
unsigned char z;
};
+static void _ecore_fb_size_get(int *w, int *h);
static int _ecore_fb_ts_fd_handler(Ecore_Fd_Handler *fd_handler, void *data);
static int _ecore_fb_kbd_fd_handler(Ecore_Fd_Handler *fd_handler, void *data);
static int _ecore_fb_ps2_fd_handler(Ecore_Fd_Handler *fd_handler, void *data);
@@ -53,6 +55,8 @@
static int _ecore_fb_ps2_fd = 0;
static int _ecore_fb_kbd_fd = 0;
static int _ecore_fb_tty_fd = 0;
+static int _ecore_fb_console_w = 0;
+static int _ecore_fb_console_h = 0;
static int _ecore_fb_ts_event_byte_count = 0;
static int _ecore_fb_ps2_event_byte_count = 0;
static Ecore_Fb_Ts_Event _ecore_fb_ts_event;
@@ -289,7 +293,7 @@
ECORE_FB_EVENT_MOUSE_MOVE = ecore_event_type_new();
}
-
+ _ecore_fb_size_get(&_ecore_fb_console_w, &_ecore_fb_console_h);
return _ecore_fb_init_count;
}
@@ -354,6 +358,44 @@
return _ecore_fb_double_click_time;
}
+/**
+ * Get the current fb width and height in pixels
+ * @param w
+ * @param h
+ *
+ * Get the current fb width and height in pixels
+ */
+void
+ecore_fb_size_get(int *w, int *h)
+{
+ if (w) *w = _ecore_fb_console_w;
+ if (h) *h = _ecore_fb_console_h;
+}
+
+static void
+_ecore_fb_size_get(int *w, int *h)
+{
+ struct fb_var_screeninfo fb_var;
+ int fb;
+
+ fb = open("/dev/fb", O_RDWR);
+ if (fb < 0)
+ {
+ if (w) *w = 0;
+ if (h) *h = 0;
+ return;
+ }
+ if (ioctl(fb, FBIOGET_VSCREENINFO, &fb_var) == -1)
+ {
+ if (w) *w = 0;
+ if (h) *h = 0;
+ return;
+ }
+ close(fb);
+ if (w) *w = fb_var.xres;
+ if (h) *h = fb_var.yres;
+}
+
static int
_ecore_fb_ts_fd_handler(Ecore_Fd_Handler *fd_handler, void *data)
{
@@ -529,8 +571,8 @@
button = _ecore_fb_ps2_event.button & 0x7;
if (x < 0) x = 0;
if (y < 0) y = 0;
- if (x >= 2560) x = 2560 - 1;
- if (y >= 2560) y = 2560 - 1;
+ if (x >= _ecore_fb_console_w) x = _ecore_fb_console_w - 1;
+ if (y >= _ecore_fb_console_h) y = _ecore_fb_console_h - 1;
/* add event to queue */
/* always add a move event */
if (1)
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs