Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/imaging


Modified Files:
        evas_imaging.c 


Log Message:


font imaging stuff....

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/imaging/evas_imaging.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- evas_imaging.c      21 Apr 2004 06:38:24 -0000      1.1
+++ evas_imaging.c      22 Apr 2004 11:29:34 -0000      1.2
@@ -3,6 +3,10 @@
 #include "evas_common.h"
 #include "evas_private.h"
 
+#ifdef BUILD_FONT_LOADER_EET
+#include <Eet.h>
+#endif
+
 Evas_Imaging_Image *
 evas_imaging_image_load(const char *file, const char *key)
 {
@@ -61,3 +65,133 @@
    return evas_common_image_get_cache();
 }
  
+Evas_Imaging_Font *
+evas_imaging_font_load(const char *file, const char *key, int size)
+{
+   Evas_Imaging_Font *fn;
+   RGBA_Font *font;
+   
+   evas_common_cpu_init();
+   evas_common_font_init();
+   if (!file) file = "";
+   if ((key) && (key[0] == 0)) key = NULL;
+#ifdef BUILD_FONT_LOADER_EET
+   if (key)
+     {
+       char *tmp;
+       
+       tmp = evas_file_path_join(file, key);
+       if (tmp)
+         {
+            font = evas_common_font_load(tmp, size);
+            if (!font)
+              {
+                 Eet_File *ef;
+                 
+                 ef = eet_open((char *)file, EET_FILE_MODE_READ);           
+                 if (ef)
+                   {
+                      void *fdata;
+                      int fsize = 0;
+                      
+                      fdata = eet_read(ef, (char *)key, &fsize);
+                      if ((fdata) && (fsize > 0))
+                        {
+                           font = evas_common_font_memory_load(tmp, size, fdata, 
fsize);
+                           free(fdata);
+                        }
+                      eet_close(ef);             
+                   }
+              }
+            free(tmp);
+         }
+     }
+   else
+#endif     
+     {
+       font = evas_common_font_load((char *)file, size);
+     }
+   fn = calloc(1, sizeof(RGBA_Font));
+   if (!fn) return NULL;
+   fn->font = font;
+   return fn;
+}
+
+void
+evas_imaging_font_free(Evas_Imaging_Font *fn)
+{
+   evas_common_font_free(fn->font);
+   free(fn);
+}
+
+int
+evas_imaging_font_ascent_get(Evas_Imaging_Font *fn)
+{
+   return evas_common_font_ascent_get(fn->font);
+}
+
+int
+evas_imaging_font_descent_get(Evas_Imaging_Font *fn)
+{
+   return evas_common_font_descent_get(fn->font);
+}
+
+int
+evas_imaging_font_max_ascent_get(Evas_Imaging_Font *fn)
+{
+   return evas_common_font_max_ascent_get(fn->font);
+}
+
+int
+evas_imaging_font_max_descent_get(Evas_Imaging_Font *fn)
+{
+   return evas_common_font_max_descent_get(fn->font);
+}
+
+int
+evas_imaging_font_line_advance_get(Evas_Imaging_Font *fn)
+{
+   return evas_common_font_get_line_advance(fn->font);
+}
+
+void
+evas_imaging_font_string_advance_get(Evas_Imaging_Font *fn, char *str, int *x, int *y)
+{
+   return evas_common_font_query_advance(fn->font, str, x, y);
+}
+
+void
+evas_imaging_font_string_size_query(Evas_Imaging_Font *fn, char *str, int *w, int *h)
+{
+   return evas_common_font_query_size(fn->font, str, w, h);
+}
+
+int
+evas_imaging_font_string_inset_get(Evas_Imaging_Font *fn, char *str)
+{
+   return evas_common_font_query_inset(fn->font, str);
+}
+
+int
+evas_imaging_font_string_char_coords_get(Evas_Imaging_Font *fn, char *str, int pos, 
int *cx, int *cy, int *cw, int *ch)
+{
+   return evas_common_font_query_char_coords(fn->font, str, pos, cx, cy, cw, ch);
+}
+
+int
+evas_imaging_font_string_char_at_coords_get(Evas_Imaging_Font *fn, char *str, int x, 
int y, int *cx, int *cy, int *cw, int *ch)
+{
+   return evas_common_font_query_text_at_pos(fn->font, str, x, y, cx, cy, cw, ch);
+}
+
+void
+evas_imaging_font_cache_set(int bytes)
+{
+   evas_common_font_cache_set(bytes);
+}
+
+int
+evas_imaging_font_cache_get(void)
+{
+   return evas_common_font_cache_get();
+}




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to