create the glft library. it will be using freetype and fontconfig to render fonts...
authorDana Jansens <danakj@orodu.net>
Mon, 26 May 2003 13:17:19 +0000 (13:17 +0000)
committerDana Jansens <danakj@orodu.net>
Mon, 26 May 2003 13:17:19 +0000 (13:17 +0000)
flesh out render2 a bit more.. actually just in comments

Makefile.am
configure.ac
glft/.cvsignore [new file with mode: 0644]
glft/Makefile.am [new file with mode: 0644]
glft/glft.h [new file with mode: 0644]
glft/init.c [new file with mode: 0644]
glft/test.c [new file with mode: 0644]
render2/Makefile.am
render2/instance.c
render2/instance.h
render2/render.h

index d2e92479416a0fb587563a7ff791862ed5c368f2..01ab3d725f5fda2673e07a511e44557232ea4d9b 100644 (file)
@@ -1,4 +1,4 @@
-SUBDIRS = po themes data render render2 parser kernel plugins tools
+SUBDIRS = po themes data render glft render2 parser kernel plugins tools
 MAINTAINERCLEANFILES = aclocal.m4 config.h.in configure Makefile.in stamp-h.in
 
 doc:
index 480efb2847f59c37cd90717df35e332a41f87f20..cbaf0d94c1cbe847362312fce5d353848b8c8446 100644 (file)
@@ -112,7 +112,8 @@ AC_CONFIG_FILES([Makefile
                  po/Makefile.in
                  themes/Makefile
                 data/Makefile
-                 render/Makefile       
+                 render/Makefile
+                glft/Makefile
                  render2/Makefile
                 parser/Makefile
                  kernel/Makefile
diff --git a/glft/.cvsignore b/glft/.cvsignore
new file mode 100644 (file)
index 0000000..9b06cfc
--- /dev/null
@@ -0,0 +1,7 @@
+.libs
+.deps
+Makefile.in
+Makefile
+libglft.la
+init.lo
+glfttest
diff --git a/glft/Makefile.am b/glft/Makefile.am
new file mode 100644 (file)
index 0000000..56ea72a
--- /dev/null
@@ -0,0 +1,26 @@
+themedir=$(datadir)/openbox/themes
+
+theme=operation
+
+CPPFLAGS=$(FC_CFLAGS) $(GLIB_CFLAGS) $(GL_CFLAGS) @CPPFLAGS@ \
+         -DG_LOG_DOMAIN=\"GlFt\" \
+         -DDEFAULT_THEME=\"$(theme)\" \
+         -DTHEMEDIR=\"$(themedir)\"
+
+INCLUDES=-I..
+LIBS=$(FC_LIBS) $(GLIB_LIBS) $(GL_LIBS) @LIBS@
+
+noinst_PROGRAMS=glfttest
+glfttest_LDFLAGS=-lglft -L.
+glfttest_SOURCES=test.c
+
+lib_LTLIBRARIES=libglft.la
+libglft_la_SOURCES=init.c
+
+
+noinst_HEADERS=glft.h
+
+MAINTAINERCLEANFILES=Makefile.in
+
+distclean-local:
+       $(RM) *\~ *.orig *.rej .\#*
diff --git a/glft/glft.h b/glft/glft.h
new file mode 100644 (file)
index 0000000..2dd1377
--- /dev/null
@@ -0,0 +1,10 @@
+#ifndef __glft_h__
+#define __glft_h__
+
+#include <fontconfig/fontconfig.h>
+
+struct GlftFont;
+
+FcBool GlftInit();
+
+#endif
diff --git a/glft/init.c b/glft/init.c
new file mode 100644 (file)
index 0000000..1162172
--- /dev/null
@@ -0,0 +1,6 @@
+#include "glft.h"
+
+FcBool GlftInit()
+{
+    return FcInit();
+}
diff --git a/glft/test.c b/glft/test.c
new file mode 100644 (file)
index 0000000..9cf0c88
--- /dev/null
@@ -0,0 +1,6 @@
+#include "glft.h"
+
+int main()
+{
+    GlftInit();
+}
index 8219a3c02ecc15b508887cbd3a035ed2f3cc9e2f..e5ff6960a37d0aaa4581d0a1825180d3b0cb8c72 100644 (file)
@@ -8,7 +8,7 @@ CPPFLAGS=$(FC_CFLAGS) $(GLIB_CFLAGS) $(GL_CFLAGS) @CPPFLAGS@ \
          -DTHEMEDIR=\"$(themedir)\"
 
 INCLUDES=-I..
-LIBS=$(FC_LIBS) $(GLIB_LIBS) $(GL_LIBS) @LIBS@
+LIBS=$(GLIB_LIBS) $(GL_LIBS) @LIBS@
 
 noinst_PROGRAMS=rendertest
 rendertest_LDFLAGS=-lobrender2 -L.
index 4acb036f90e98d774668906528b82101b039e9e1..59ffbd455929511ab9d3faa643f66aa465287997 100644 (file)
@@ -1,6 +1,36 @@
 #include "instance.h"
 #include <glib.h>
 
+/*
+void truecolor_startup(void)
+{
+  unsigned long red_mask, green_mask, blue_mask;
+  XImage *timage = NULL;
+
+  timage = XCreateImage(ob_display, render_visual, render_depth,
+                        ZPixmap, 0, NULL, 1, 1, 32, 0);
+  g_assert(timage != NULL);
+  /\* find the offsets for each color in the visual's masks *\/
+  render_red_mask = red_mask = timage->red_mask;
+  render_green_mask = green_mask = timage->green_mask;
+  render_blue_mask = blue_mask = timage->blue_mask;
+
+  render_red_offset = 0;
+  render_green_offset = 0;
+  render_blue_offset = 0;
+
+  while (! (red_mask & 1))   { render_red_offset++;   red_mask   >>= 1; }
+  while (! (green_mask & 1)) { render_green_offset++; green_mask >>= 1; }
+  while (! (blue_mask & 1))  { render_blue_offset++;  blue_mask  >>= 1; }
+
+  render_red_shift = render_green_shift = render_blue_shift = 8;
+  while (red_mask)   { red_mask   >>= 1; render_red_shift--;   }
+  while (green_mask) { green_mask >>= 1; render_green_shift--; }
+  while (blue_mask)  { blue_mask  >>= 1; render_blue_shift--;  }
+  XFree(timage);
+}
+*/
+
 struct RrInstance *RrInstanceNew(Display *display,
                                  int screen,
                                  XVisualInfo visinfo)
index a27518c75622101955724c23e0fc9c5e72a1883b..e386cc7043cfbaa0b4adb12a90e62429b229690e 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef __instance_h
-#define __instance_h
+#ifndef __render_instance_h
+#define __render_instance_h
 
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
index 3eed8a7caea6da36139a552e9ebbe46e5fdd4d32..806f04e3486c5175ca7257d0c07b21b9457ceada 100644 (file)
@@ -11,6 +11,8 @@
 */
 
 struct RrInstance;
+struct RrRGB;
+struct RrFont;
 
 /*! Returns a struct to be used when calling members of the library.
   If the library fails to initialize, NULL is returned.