This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project gfxprim.git.
The branch, generate has been updated
via 71f1574977b03a901b7381fb3aca1c6d0c3ed33d (commit)
from b964f56ae4fe0a0a48f16fc18a8daec953acb3cc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://repo.or.cz/w/gfxprim.git/commit/71f1574977b03a901b7381fb3aca1c6d0c3e…
commit 71f1574977b03a901b7381fb3aca1c6d0c3ed33d
Author: Cyril Hrubis <metan(a)ucw.cz>
Date: Sun Oct 30 17:48:04 2011 +0100
Proved myself wrong, we need to read last two bytes.
Still haven't tried the code, just proved, while
riding the train, that sometimes we need to get
last two bytes.
diff --git a/include/core/GP_GetSetBits.h b/include/core/GP_GetSetBits.h
index bd55fe2..d724828 100644
--- a/include/core/GP_GetSetBits.h
+++ b/include/core/GP_GetSetBits.h
@@ -27,8 +27,8 @@
*/
-#ifndef GP_GET_SET_BITS_H
-#define GP_GET_SET_BITS_H
+#ifndef CORE_GP_GET_SET_BITS_H
+#define CORE_GP_GET_SET_BITS_H
/*
* Helper macros to read/write parts of words
@@ -122,6 +122,7 @@
#define GP_SET_BITS3_ALIGNED(offset, len, dest, val) do { uint32_t v; v = ((uint8_t *)dest)[0]; + v |= ((uint8_t *)dest)[1]<<8; v |= ((uint8_t *)dest)[2]<<16; GP_SET_BITS(offset, len, v, val); @@ -134,6 +135,7 @@
#define GP_SET_BITS4_ALIGNED(offset, len, dest, val) do { uint32_t v; v = ((uint8_t *)dest)[0]; + v |= ((uint8_t *)dest)[2]<<16; v |= ((uint8_t *)dest)[3]<<24; GP_SET_BITS(offset, len, v, val); @@ -145,4 +147,4 @@
} while (0)
-#endif /* GP_GET_SET_BITS_H */
+#endif /* CORE_GP_GET_SET_BITS_H */
-----------------------------------------------------------------------
Summary of changes:
include/core/GP_GetSetBits.h | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
repo.or.cz automatic notification. Contact project admin jiri.bluebear.dluhos(a)gmail.com
if you want to unsubscribe, or site admin admin(a)repo.or.cz if you receive
no reply.
--
gfxprim.git ("A simple 2D graphics library with emphasis on correctness and well-defined operation.")
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project gfxprim.git.
The branch, generate has been updated
via 7d1c1b2c4aeef95941109cbdc5707eff6ad0a36f (commit)
from c8554f3ed96486d4ef20838b260c369f61c61b3c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://repo.or.cz/w/gfxprim.git/commit/7d1c1b2c4aeef95941109cbdc5707eff6ad0…
commit 7d1c1b2c4aeef95941109cbdc5707eff6ad0a36f
Author: Cyril Hrubis <metan(a)ucw.cz>
Date: Tue Oct 25 16:08:45 2011 +0000
fbshow: fix timeval reinitalization.
diff --git a/demos/fbshow/fbshow.c b/demos/fbshow/fbshow.c
index e6c6212..76dcb99 100644
--- a/demos/fbshow/fbshow.c
+++ b/demos/fbshow/fbshow.c
@@ -143,13 +143,16 @@ int main(int argc, char *argv[])
FD_ZERO(&rfds);
FD_SET(drv->fd, &rfds);
struct timeval tv = {.tv_sec = sleep_sec, .tv_usec = 0};
+ struct timeval *tvp = sleep_sec ? &tv : NULL;
for (;;) {
int ret;
if (drv != NULL) {
- ret = select(drv->fd + 1, &rfds, NULL, NULL, &tv);
-
+ ret = select(drv->fd + 1, &rfds, NULL, NULL, tvp);
+
+ tv.tv_sec = sleep_sec;
+
switch (ret) {
case -1:
GP_FramebufferExit(fb);
-----------------------------------------------------------------------
Summary of changes:
demos/fbshow/fbshow.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
repo.or.cz automatic notification. Contact project admin jiri.bluebear.dluhos(a)gmail.com
if you want to unsubscribe, or site admin admin(a)repo.or.cz if you receive
no reply.
--
gfxprim.git ("A simple 2D graphics library with emphasis on correctness and well-defined operation.")
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project gfxprim.git.
The branch, generate has been updated
via 859d22427003b1d4be3f536075d48a847bcd2c8a (commit)
via 4500e9d17c2657652e54e1ff4796d09bbef67952 (commit)
from 040f8cdfb686e243d75d7c4e27c36b495d76656f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://repo.or.cz/w/gfxprim.git/commit/859d22427003b1d4be3f536075d48a847bcd…
commit 859d22427003b1d4be3f536075d48a847bcd2c8a
Merge: 040f8cd 4500e9d
Author: Cyril Hrubis <metan(a)ucw.cz>
Date: Tue Oct 25 12:24:02 2011 +0200
Merge ssh://192.168.1.1/home/metan/Devel/gfxprim into generate
http://repo.or.cz/w/gfxprim.git/commit/4500e9d17c2657652e54e1ff4796d09bbef6…
commit 4500e9d17c2657652e54e1ff4796d09bbef67952
Author: Cyril Hrubis <metan(a)ucw.cz>
Date: Tue Oct 25 14:13:47 2011 +0200
Filters: INTER -> INTERP.
diff --git a/include/filters/GP_Resize.h b/include/filters/GP_Resize.h
index 54acaed..05f80c7 100644
--- a/include/filters/GP_Resize.h
+++ b/include/filters/GP_Resize.h
@@ -47,8 +47,8 @@
#include "GP_Filter.h"
typedef enum GP_InterpolationType {
- GP_INTER_NN, /* Nearest Neighbour */
- GP_INTER_CUBIC, /* Bicubic */
+ GP_INTERP_NN, /* Nearest Neighbour */
+ GP_INTERP_CUBIC, /* Bicubic */
} GP_InterpolationType;
void GP_FilterResize_Raw(GP_Context *src, GP_Context *res,
diff --git a/libs/filters/GP_Resize.c b/libs/filters/GP_Resize.c
index 6f944a6..192d5f5 100644
--- a/libs/filters/GP_Resize.c
+++ b/libs/filters/GP_Resize.c
@@ -214,10 +214,10 @@ void GP_FilterResize_Raw(GP_Context *src, GP_Context *res,
GP_InterpolationType type)
{
switch (type) {
- case GP_INTER_NN:
+ case GP_INTERP_NN:
GP_FilterInterpolate_NN(src, res, callback);
break;
- case GP_INTER_CUBIC:
+ case GP_INTERP_CUBIC:
GP_FilterInterpolate_Cubic(src, res, callback);
break;
}
-----------------------------------------------------------------------
Summary of changes:
include/filters/GP_Resize.h | 4 ++--
libs/filters/GP_Resize.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
repo.or.cz automatic notification. Contact project admin jiri.bluebear.dluhos(a)gmail.com
if you want to unsubscribe, or site admin admin(a)repo.or.cz if you receive
no reply.
--
gfxprim.git ("A simple 2D graphics library with emphasis on correctness and well-defined operation.")
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project gfxprim.git.
The branch, generate has been updated
via 040f8cdfb686e243d75d7c4e27c36b495d76656f (commit)
from fb50f1facaec877cd3b8a71f6d621648ebc0f451 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://repo.or.cz/w/gfxprim.git/commit/040f8cdfb686e243d75d7c4e27c36b495d76…
commit 040f8cdfb686e243d75d7c4e27c36b495d76656f
Author: Cyril Hrubis <metan(a)ucw.cz>
Date: Mon Oct 24 17:46:32 2011 +0200
Added input driver desctructor + typedef.
diff --git a/include/input/GP_InputDriverLinux.h b/include/input/GP_InputDriverLinux.h
index ed70c15..ea5b370 100644
--- a/include/input/GP_InputDriverLinux.h
+++ b/include/input/GP_InputDriverLinux.h
@@ -31,7 +31,7 @@
#include <stdint.h>
-struct GP_InputDriverLinux {
+typedef struct GP_InputDriverLinux {
/* fd */
int fd;
@@ -51,11 +51,19 @@ struct GP_InputDriverLinux {
int abs_press_max;
uint8_t abs_flag;
-};
+} GP_InputDriverLinux;
+/*
+ * Initalize and allocate input driver.
+ */
struct GP_InputDriverLinux *GP_InputDriverLinuxOpen(const char *path);
/*
+ * Close the fd, free memory.
+ */
+void GP_InputDriverLinuxClose(struct GP_InputDriverLinux *self);
+
+/*
* Called when there are data ready on input device.
*
* May or may not generate GP_Event.
diff --git a/libs/input/GP_InputDriverLinux.c b/libs/input/GP_InputDriverLinux.c
index a0f4ddf..05557dd 100644
--- a/libs/input/GP_InputDriverLinux.c
+++ b/libs/input/GP_InputDriverLinux.c
@@ -142,6 +142,15 @@ struct GP_InputDriverLinux *GP_InputDriverLinuxOpen(const char *path)
return ret;
}
+void GP_InputDriverLinuxClose(struct GP_InputDriverLinux *self)
+{
+ GP_DEBUG(1, "Closing input device");
+ print_name(self->fd);
+
+ close(self->fd);
+ free(self);
+}
+
static void input_rel(struct GP_InputDriverLinux *self, struct input_event *ev)
{
GP_DEBUG(4, "Relative event");
-----------------------------------------------------------------------
Summary of changes:
include/input/GP_InputDriverLinux.h | 12 ++++++++++--
libs/input/GP_InputDriverLinux.c | 9 +++++++++
2 files changed, 19 insertions(+), 2 deletions(-)
repo.or.cz automatic notification. Contact project admin jiri.bluebear.dluhos(a)gmail.com
if you want to unsubscribe, or site admin admin(a)repo.or.cz if you receive
no reply.
--
gfxprim.git ("A simple 2D graphics library with emphasis on correctness and well-defined operation.")
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project gfxprim.git.
The branch, generate has been updated
via 1a1eb5042ec3cb87352d5d8d3f051ba7f600a7ed (commit)
from cbea4b71a8151b445c662f50b12b50dccb7285c9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://repo.or.cz/w/gfxprim.git/commit/1a1eb5042ec3cb87352d5d8d3f051ba7f600…
commit 1a1eb5042ec3cb87352d5d8d3f051ba7f600a7ed
Author: Cyril Hrubis <metan(a)ucw.cz>
Date: Mon Oct 24 17:15:10 2011 +0200
Quick and dirty linux event input driver.
diff --git a/include/input/GP_InputDriverLinux.h b/include/input/GP_InputDriverLinux.h
new file mode 100644
index 0000000..ed70c15
--- /dev/null
+++ b/include/input/GP_InputDriverLinux.h
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * This file is part of gfxprim library. *
+ * *
+ * Gfxprim is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU Lesser General Public *
+ * License as published by the Free Software Foundation; either *
+ * version 2.1 of the License, or (at your option) any later version. *
+ * *
+ * Gfxprim is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with gfxprim; if not, write to the Free Software *
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
+ * Boston, MA 02110-1301 USA *
+ * *
+ * Copyright (C) 2009-2011 Cyril Hrubis <metan(a)ucw.cz> *
+ * *
+ *****************************************************************************/
+
+/*
+
+ Linux input device driver.
+
+ */
+
+#ifndef GP_INPUT_DRIVER_LINUX_H
+#define GP_INPUT_DRIVER_LINUX_H
+
+#include <stdint.h>
+
+struct GP_InputDriverLinux {
+ /* fd */
+ int fd;
+
+ /* to store rel coordinates */
+ int rel_x;
+ int rel_y;
+
+ uint8_t rel_flag;
+
+ /* to store abs coordinates */
+ int abs_x;
+ int abs_y;
+ int abs_press;
+
+ int abs_x_max;
+ int abs_y_max;
+ int abs_press_max;
+
+ uint8_t abs_flag;
+};
+
+struct GP_InputDriverLinux *GP_InputDriverLinuxOpen(const char *path);
+
+/*
+ * Called when there are data ready on input device.
+ *
+ * May or may not generate GP_Event.
+ *
+ * Returns 0 on succes -1 on error and errno is set.
+ */
+int GP_InputDriverLinuxRead(struct GP_InputDriverLinux *self);
+
+#endif /* GP_INPUT_DRIVER_LINUX_H */
diff --git a/libs/input/GP_InputDriverLinux.c b/libs/input/GP_InputDriverLinux.c
new file mode 100644
index 0000000..22138cd
--- /dev/null
+++ b/libs/input/GP_InputDriverLinux.c
@@ -0,0 +1,255 @@
+/*****************************************************************************
+ * This file is part of gfxprim library. *
+ * *
+ * Gfxprim is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU Lesser General Public *
+ * License as published by the Free Software Foundation; either *
+ * version 2.1 of the License, or (at your option) any later version. *
+ * *
+ * Gfxprim is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with gfxprim; if not, write to the Free Software *
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
+ * Boston, MA 02110-1301 USA *
+ * *
+ * Copyright (C) 2009-2011 Cyril Hrubis <metan(a)ucw.cz> *
+ * *
+ *****************************************************************************/
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <string.h>
+#include <linux/input.h>
+
+#include "core/GP_Debug.h"
+
+#include "GP_Event.h"
+#include "GP_InputDriverLinux.h"
+
+int get_version(int fd)
+{
+ int ver;
+
+ if (ioctl(fd, EVIOCGVERSION, &ver))
+ return -1;
+
+ GP_DEBUG(2, "Input version %u.%u.%u",
+ ver>>16, (ver>>8)&0xff, ver&0xff);
+
+ return 0;
+}
+
+/*
+ * Returns size on success just as read()
+ */
+int get_name(int fd, char *buf, size_t buf_len)
+{
+ int ret;
+
+ if ((ret = ioctl(fd, EVIOCGNAME(buf_len), buf)) <= 0)
+ return -1;
+
+ return ret;
+}
+
+void print_name(int fd)
+{
+ char name[64];
+
+ if (GP_GetDebugLevel() < 2)
+ return;
+
+ if (get_name(fd, name, sizeof(name)) > 0)
+ GP_DEBUG(2, "Input device name '%s'", name);
+}
+
+void try_load_callibration(struct GP_InputDriverLinux *self)
+{
+ long bit = 0;
+ int abs[5];
+
+ ioctl(self->fd, EVIOCGBIT(EV_ABS, EV_ABS), &bit);
+
+ if (!bit) {
+ GP_DEBUG(3, "Not an absolute input device");
+ return;
+ }
+
+ if (!ioctl(self->fd, EVIOCGABS(ABS_X), abs)) {
+ GP_DEBUG(3, "ABS X = <%i,%i>", abs[1], abs[2]);
+ self->abs_x_max = abs[2];
+ }
+
+ if (!ioctl(self->fd, EVIOCGABS(ABS_Y), abs)) {
+ GP_DEBUG(3, "ABS Y = <%i,%i>", abs[1], abs[2]);
+ self->abs_y_max = abs[2];
+ }
+
+ if (!ioctl(self->fd, EVIOCGABS(ABS_PRESSURE), abs)) {
+ GP_DEBUG(3, "ABS P = <%i,%i>", abs[1], abs[2]);
+ self->abs_press_max = abs[2];
+ }
+}
+
+struct GP_InputDriverLinux *GP_InputDriverLinuxOpen(const char *path)
+{
+ int fd;
+ struct GP_InputDriverLinux *ret;
+
+ GP_DEBUG(2, "Opening '%s'", path);
+
+ fd = open(path, O_RDONLY | O_NONBLOCK);
+
+ if (fd < 0) {
+ GP_DEBUG(1, "Failed to open '%s': %s", path, strerror(errno));
+ return NULL;
+ }
+
+ if (get_version(fd)) {
+ GP_DEBUG(1, "Failed ioctl(), not a input device?");
+ return NULL;
+ }
+
+ print_name(fd);
+
+ ret = malloc(sizeof(struct GP_InputDriverLinux));
+
+ if (ret == NULL) {
+ GP_DEBUG(1, "Malloc failed :(");
+ close(fd);
+ return NULL;
+ }
+
+ ret->fd = fd;
+
+ ret->rel_x = 0;
+ ret->rel_y = 0;
+ ret->rel_flag = 0;
+
+ ret->abs_x = 0;
+ ret->abs_y = 0;
+ ret->abs_press = 0;
+ ret->abs_flag = 0;
+
+ try_load_callibration(ret);
+
+ return ret;
+}
+
+static void input_rel(struct GP_InputDriverLinux *self, struct input_event *ev)
+{
+ GP_DEBUG(3, "Relative event");
+
+ switch (ev->code) {
+ case REL_X:
+ self->rel_x = ev->value;
+ self->rel_flag = 1;
+ break;
+ case REL_Y:
+ self->rel_y = ev->value;
+ self->rel_flag = 1;
+ break;
+ default:
+ GP_DEBUG(3, "Unhandled code %i", ev->code);
+ }
+}
+
+static void input_abs(struct GP_InputDriverLinux *self, struct input_event *ev)
+{
+ GP_DEBUG(3, "Absolute event");
+
+ switch (ev->code) {
+ case ABS_X:
+ self->abs_x = ev->value;
+ self->abs_flag = 1;
+ break;
+ case ABS_Y:
+ self->abs_y = ev->value;
+ self->abs_flag = 1;
+ break;
+ case ABS_PRESSURE:
+ self->abs_press = ev->value;
+ self->abs_flag = 1;
+ break;
+ default:
+ GP_DEBUG(3, "Unhandled code %i", ev->code);
+ }
+}
+
+static void input_key(struct GP_InputDriverLinux *self, struct input_event *ev)
+{
+ GP_DEBUG(3, "Key event");
+
+ (void) self;
+
+ GP_EventPushKey(ev->code, ev->value, NULL);
+}
+
+static void do_sync(struct GP_InputDriverLinux *self)
+{
+ if (self->rel_flag) {
+ self->rel_flag = 0;
+ GP_EventPushRel(self->rel_x, self->rel_y, NULL);
+ self->rel_x = 0;
+ self->rel_y = 0;
+ }
+
+ if (self->abs_flag) {
+ self->abs_flag = 0;
+ GP_EventPushAbs(self->abs_x, self->abs_y, self->abs_press,
+ self->abs_x_max, self->abs_y_max,
+ self->abs_press_max, NULL);
+ self->abs_x = 0;
+ self->abs_y = 0;
+ self->abs_press = 0;
+ }
+}
+
+static void input_syn(struct GP_InputDriverLinux *self, struct input_event *ev)
+{
+ GP_DEBUG(3, "Sync event");
+
+ switch (ev->code) {
+ case 0:
+ do_sync(self);
+ break;
+ default:
+ GP_DEBUG(3, "Unhandled code %i", ev->code);
+ }
+}
+
+int GP_InputDriverLinuxRead(struct GP_InputDriverLinux *self)
+{
+ struct input_event ev;
+ int ret;
+
+ while ((ret = read(self->fd, &ev, sizeof(ev))) != -1) {
+ switch (ev.type) {
+ case EV_REL:
+ input_rel(self, &ev);
+ break;
+ case EV_ABS:
+ input_abs(self, &ev);
+ break;
+ case EV_KEY:
+ input_key(self, &ev);
+ break;
+ case EV_SYN:
+ input_syn(self, &ev);
+ break;
+ default:
+ GP_DEBUG(3, "Unhandled type %i", ev.type);
+ }
+ }
+
+ if (ret == -1 && errno == EAGAIN)
+ return 0;
+
+ return 1;
+}
diff --git a/tests/drivers/linux_input.c b/tests/drivers/linux_input.c
new file mode 100644
index 0000000..04a0480
--- /dev/null
+++ b/tests/drivers/linux_input.c
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * This file is part of gfxprim library. *
+ * *
+ * Gfxprim is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU Lesser General Public *
+ * License as published by the Free Software Foundation; either *
+ * version 2.1 of the License, or (at your option) any later version. *
+ * *
+ * Gfxprim is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with gfxprim; if not, write to the Free Software *
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
+ * Boston, MA 02110-1301 USA *
+ * *
+ * Copyright (C) 2009-2011 Cyril Hrubis <metan(a)ucw.cz> *
+ * *
+ *****************************************************************************/
+
+ /*
+
+ */
+
+#include <math.h>
+
+#include <GP.h>
+#include <input/GP_InputDriverLinux.h>
+
+int main(int argc, char *argv[])
+{
+ struct GP_InputDriverLinux *drv;
+
+ GP_SetDebugLevel(10);
+
+ if (argc != 2) {
+ printf("Usage: %s /dev/input/eventXn", argv[0]);
+ return 1;
+ }
+
+ drv = GP_InputDriverLinuxOpen(argv[1]);
+
+ if (drv == NULL) {
+ printf("Failed to open input devicen");
+ return 1;
+ }
+
+ GP_EventSetScreenSize(640, 480);
+
+ for (;;) {
+ GP_InputDriverLinuxRead(drv);
+
+ while (GP_EventQueued()) {
+ GP_Event ev;
+
+ GP_EventGet(&ev);
+ GP_EventDump(&ev);
+ }
+
+ usleep(1000);
+ }
+
+ return 0;
+}
-----------------------------------------------------------------------
Summary of changes:
.../{GP_InputDriverSDL.h => GP_InputDriverLinux.h} | 40 +++-
libs/input/GP_InputDriverLinux.c | 255 ++++++++++++++++++++
.../GP_Loaders.h => tests/drivers/linux_input.c | 52 +++--
3 files changed, 324 insertions(+), 23 deletions(-)
copy include/input/{GP_InputDriverSDL.h => GP_InputDriverLinux.h} (71%)
create mode 100644 libs/input/GP_InputDriverLinux.c
copy include/loaders/GP_Loaders.h => tests/drivers/linux_input.c (74%)
repo.or.cz automatic notification. Contact project admin jiri.bluebear.dluhos(a)gmail.com
if you want to unsubscribe, or site admin admin(a)repo.or.cz if you receive
no reply.
--
gfxprim.git ("A simple 2D graphics library with emphasis on correctness and well-defined operation.")