Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        Makefile.am e_config.c e_config.h e_includes.h e_ipc.c e_ipc.h 
        e_main.c e_remote_main.c 


Log Message:


shorns' font fixme work.. so we can all work on it :)

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/Makefile.am,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- Makefile.am 15 Mar 2005 10:25:47 -0000      1.19
+++ Makefile.am 2 Apr 2005 16:40:30 -0000       1.20
@@ -43,8 +43,8 @@
 e_xinerama.h \
 e_table.h \
 e_layout.h \
-e_test.h
-
+e_test.h \
+e_font.h
 
 enlightenment_SOURCES = \
 e_main.c \
@@ -81,6 +81,7 @@
 e_table.c \
 e_layout.c \
 e_test.c \
+e_font.c \
 $(ENLIGHTENMENTHEADERS)
 
 enlightenment_LDFLAGS = -export-dynamic @e_libs@ @dlopen_libs@
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- e_config.c  24 Mar 2005 08:30:44 -0000      1.26
+++ e_config.c  2 Apr 2005 16:40:30 -0000       1.27
@@ -26,6 +26,8 @@
 static E_Config_DD *_e_config_edd = NULL;
 static E_Config_DD *_e_config_module_edd = NULL;
 static E_Config_DD *_e_config_binding_edd = NULL;
+static E_Config_DD *_e_config_font_fallback_edd = NULL;
+static E_Config_DD *_e_config_font_default_edd = NULL;
 
 /* externally accessible functions */
 int
@@ -49,6 +51,24 @@
    E_CONFIG_VAL(D, T, modifiers, INT);
    E_CONFIG_VAL(D, T, action, INT);
 
+   _e_config_font_default_edd = E_CONFIG_DD_NEW("E_Font_Default", 
+                                                E_Font_Default);   
+#undef T
+#undef D
+#define T E_Font_Default
+#define D _e_config_font_default_edd
+   E_CONFIG_VAL(D, T, text_class, STR);
+   E_CONFIG_VAL(D, T, font, STR);
+   E_CONFIG_VAL(D, T, size, INT);
+
+   _e_config_font_fallback_edd = E_CONFIG_DD_NEW("E_Font_Fallback", 
+                                                 E_Font_Fallback);   
+#undef T
+#undef D
+#define T E_Font_Fallback
+#define D _e_config_font_fallback_edd
+   E_CONFIG_VAL(D, T, name, STR);
+
    _e_config_edd = E_CONFIG_DD_NEW("E_Config", E_Config);
 #undef T
 #undef D
@@ -68,6 +88,8 @@
    E_CONFIG_VAL(D, T, zone_desks_y_count, INT);
    E_CONFIG_LIST(D, T, modules, _e_config_module_edd);
    E_CONFIG_LIST(D, T, bindings, _e_config_binding_edd);
+   E_CONFIG_LIST(D, T, font_fallbacks, _e_config_font_fallback_edd);
+   E_CONFIG_LIST(D, T, font_defaults, _e_config_font_default_edd);
 
    e_config = e_config_domain_load("e", _e_config_edd);
    if (!e_config)
@@ -143,6 +165,30 @@
             eb->action = E_BINDING_ACTION_MENU;
             e_config->bindings = evas_list_append(e_config->bindings, eb);
          }
+         {
+            E_Font_Fallback* eff;
+            
+            eff = E_NEW(E_Font_Fallback, 1);
+            eff->name = strdup("Kochi-Gothic");
+            e_config->font_fallbacks = 
evas_list_append(e_config->font_fallbacks, 
+                                                        eff);
+            
+            eff = E_NEW(E_Font_Fallback, 1);
+            eff->name = strdup("Baekmuk-Dotum");
+            e_config->font_fallbacks = 
evas_list_append(e_config->font_fallbacks, 
+                                                        eff);
+
+         }
+         { 
+            E_Font_Default* efd;
+            
+             efd = E_NEW(E_Font_Fallback, 1);
+            efd->text_class = strdup("title_bar");
+            efd->font = strdup("Vera");
+            efd->size = 10;
+             e_config->font_defaults = 
evas_list_append(e_config->font_defaults, efd); 
+       
+         }
        e_config_save_queue();
      }
 
@@ -180,12 +226,34 @@
             e_config->bindings = evas_list_remove_list(e_config->bindings, 
e_config->bindings);
             E_FREE(eb);
          }
+       while (e_config->font_fallbacks)
+         {
+            E_Font_Fallback *eff;
+            
+            eff = e_config->font_fallbacks->data;
+            e_config->font_fallbacks = 
evas_list_remove_list(e_config->font_fallbacks, e_config->font_fallbacks);
+            E_FREE(eff->name);
+            E_FREE(eff);
+         }
+       while (e_config->font_defaults)
+         {
+            E_Font_Default *efd;
+            
+            efd = e_config->font_defaults->data;
+            e_config->font_defaults = 
evas_list_remove_list(e_config->font_defaults, e_config->font_defaults);
+            E_FREE(efd->text_class);
+            E_FREE(efd->font);
+            E_FREE(efd);
+         }
+
        E_FREE(e_config->desktop_default_background);
        E_FREE(e_config);
      }
    E_CONFIG_DD_FREE(_e_config_edd);
    E_CONFIG_DD_FREE(_e_config_module_edd);
    E_CONFIG_DD_FREE(_e_config_binding_edd);
+   E_CONFIG_DD_FREE(_e_config_font_default_edd);
+   E_CONFIG_DD_FREE(_e_config_font_fallback_edd);
    return 1;
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- e_config.h  11 Mar 2005 13:09:06 -0000      1.11
+++ e_config.h  2 Apr 2005 16:40:30 -0000       1.12
@@ -64,6 +64,8 @@
    int         use_virtual_roots;
    Evas_List  *modules;
    Evas_List  *bindings;
+   Evas_List  *font_fallbacks;
+   Evas_List  *font_defaults;
 };
 
 struct _E_Config_Module
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_includes.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- e_includes.h        15 Mar 2005 10:26:05 -0000      1.9
+++ e_includes.h        2 Apr 2005 16:40:31 -0000       1.10
@@ -33,3 +33,4 @@
 #include "e_xinerama.h"
 #include "e_table.h"
 #include "e_layout.h"
+#include "e_font.h"
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- e_ipc.c     17 Mar 2005 01:30:50 -0000      1.9
+++ e_ipc.c     2 Apr 2005 16:40:31 -0000       1.10
@@ -213,6 +213,253 @@
                                   bg, strlen(bg) + 1);
          }
        break;
+      case E_IPC_OP_FONT_AVAILABLE_LIST:
+         {
+            Evas_List *fonts_available, *l;
+            int bytes;
+            char *font_name, *data, *p;
+                 
+            bytes = 0;
+            fonts_available = e_font_available_list();
+            printf("ipc font av: %d\n", fonts_available);
+            for (l = fonts_available; l; l = l->next)
+              {
+                 font_name = evas_list_data(l);
+                 bytes += strlen(font_name) + 1;
+              }
+
+            data = malloc(bytes);
+            p = data;
+            for (l = fonts_available; l; l = l->next)
+              {
+                 font_name = evas_list_data(l);
+                 strcpy(p, font_name);
+                 p += strlen(font_name);
+                 *p = 0;
+                 p++;
+              }
+            ecore_ipc_client_send(e->client,
+                                  E_IPC_DOMAIN_REPLY,
+                                  E_IPC_OP_FONT_AVAILABLE_LIST_REPLY,
+                                  0/*ref*/, 0/*ref_to*/, 0/*response*/,
+                                  data, bytes);
+            
+            e_font_available_list_free(fonts_available);
+            free(data);
+         }
+       break;
+      case E_IPC_OP_FONT_APPLY:
+         {
+            e_font_apply();
+         }
+       break;
+      case E_IPC_OP_FONT_FALLBACK_CLEAR:
+         {
+            e_font_fallback_clear();
+         }
+       break;
+      case E_IPC_OP_FONT_FALLBACK_APPEND:
+         {
+            char * font_name;
+            font_name = malloc(e->size + 1);
+            font_name[e->size] = 0;
+            memcpy(font_name, e->data, e->size);
+            e_font_fallback_append(font_name);
+            free(font_name);
+
+            e_config_save_queue(); 
+         }
+       break;
+      case E_IPC_OP_FONT_FALLBACK_PREPEND:
+         {
+            char * font_name;
+            font_name = malloc(e->size + 1);
+            font_name[e->size] = 0;
+            memcpy(font_name, e->data, e->size);
+            e_font_fallback_prepend(font_name);
+            free(font_name);      
+               
+            e_config_save_queue();  
+         }
+       break;
+      case E_IPC_OP_FONT_FALLBACK_LIST:
+         {
+            Evas_List *fallbacks, *l;
+            int bytes;
+            E_Font_Fallback *eff;
+            char *data, *p;
+                 
+            bytes = 0;
+            fallbacks = e_font_fallback_list();
+            for (l = fallbacks; l; l = l->next)
+              {
+                 eff = evas_list_data(l);
+                 bytes += strlen(eff->name) + 1;
+              }
+            data = malloc(bytes);
+            p = data;
+            for (l = fallbacks; l; l = l->next)
+              {
+                 eff = evas_list_data(l);
+                 strcpy(p, eff->name);
+                 p += strlen(eff->name);
+                 *p = 0;
+                 p++;
+              }
+            ecore_ipc_client_send(e->client,
+                                  E_IPC_DOMAIN_REPLY,
+                                  E_IPC_OP_FONT_FALLBACK_LIST_REPLY,
+                                  0/*ref*/, 0/*ref_to*/, 0/*response*/,
+                                  data, bytes);
+            free(data);
+
+         }
+       break;
+      case E_IPC_OP_FONT_FALLBACK_REMOVE:
+         {
+            char * font_name;
+            font_name = malloc(e->size + 1);
+            font_name[e->size] = 0;
+            memcpy(font_name, e->data, e->size);
+            e_font_fallback_remove(font_name);
+            free(font_name);        
+
+            e_config_save_queue();
+         }
+       break;
+      case E_IPC_OP_FONT_DEFAULT_SET:
+         {
+            char * p;
+            char * font_name;
+            char * text_class;
+            int font_size;
+
+            
+            p = e->data;
+            
+            /* Make sure our data is packed for us <str>0<str>0 */
+            if( p[e->size - 1] != 0) {
+               break;
+            }
+
+            text_class = strdup(p);
+
+            p += strlen(text_class) + 1;
+            font_name = strdup(p);
+       
+            p += strlen(font_name) + 1;
+            font_size = atoi(p);
+
+            e_font_default_set(text_class, font_name, font_size);
+
+            free(font_name);
+            free(text_class);
+
+            e_config_save_queue();
+         }
+       break;
+      case E_IPC_OP_FONT_DEFAULT_GET:
+         {
+            int bytes;
+            E_Font_Default *efd;
+            char *data, *p, *text_class;
+            
+            text_class = malloc(e->size + 1);
+            text_class[e->size] = 0;
+            memcpy(text_class, e->data, e->size);
+            
+            efd = e_font_default_get (text_class);
+            
+            free(text_class);
+                 
+            bytes = 0;
+            if (efd) {
+                bytes += strlen(efd->text_class) + 1;
+                bytes += strlen(efd->font) + 1;
+                bytes++; /* efd->size */
+            }
+            
+            data = malloc(bytes);
+            p = data;
+            
+            if (efd) {
+                strcpy(p, efd->text_class);
+                 p += strlen(efd->text_class);
+                 *p = 0;
+                p++;
+            
+                strcpy(p, efd->font);
+                p += strlen(efd->font);
+                *p = 0;
+                p++;
+                 
+                 /* FIXME: should this be packed like this (int to char) ? */
+                *p = (char) efd->size;
+                p++;
+            }
+
+            ecore_ipc_client_send(e->client,
+                                  E_IPC_DOMAIN_REPLY,
+                                  E_IPC_OP_FONT_DEFAULT_GET_REPLY,
+                                  0/*ref*/, 0/*ref_to*/, 0/*response*/,
+                                  data, bytes);
+            free(data);
+         }
+       break;
+      case E_IPC_OP_FONT_DEFAULT_REMOVE:
+         {       
+            char * text_class;
+            text_class = malloc(e->size + 1);
+            text_class[e->size] = 0;
+            memcpy(text_class, e->data, e->size);
+            e_font_default_remove(text_class);
+            free(text_class);     
+
+            e_config_save_queue(); 
+         }
+       break;
+      case E_IPC_OP_FONT_DEFAULT_LIST:
+         {
+            Evas_List *defaults, *l;
+            int bytes;
+            E_Font_Default *efd;
+            char *data, *p;
+                 
+            bytes = 0;
+            defaults = e_font_default_list();
+            for (l = defaults; l; l = l->next)
+              {
+                 efd = l->data;
+                 bytes += strlen(efd->text_class) + 1;
+                 bytes += strlen(efd->font) + 1;
+                 bytes++; /* efd->size */
+              }
+            data = malloc(bytes);
+            p = data;
+            for (l =defaults; l; l = l->next)
+              {
+                 efd = l->data;
+                 strcpy(p, efd->text_class);
+                 p += strlen(efd->text_class);
+                 *p = 0;
+                 p++;
+                 strcpy(p, efd->font);
+                 p += strlen(efd->font);
+                 *p = 0;
+                 p++;
+                 /* FIXME: should this be packed like this (int to char) ? */
+                 *p = (char) efd->size;
+                 p++;
+              }
+            ecore_ipc_client_send(e->client,
+                                  E_IPC_DOMAIN_REPLY,
+                                  E_IPC_OP_FONT_DEFAULT_LIST_REPLY,
+                                  0/*ref*/, 0/*ref_to*/, 0/*response*/,
+                                  data, bytes);
+            free(data);
+
+         }
+       break;
       case E_IPC_OP_RESTART:
          {
             restart = 1;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- e_ipc.h     17 Mar 2005 01:30:50 -0000      1.8
+++ e_ipc.h     2 Apr 2005 16:40:37 -0000       1.9
@@ -23,6 +23,21 @@
    E_IPC_OP_BG_SET,
    E_IPC_OP_BG_GET,
    E_IPC_OP_BG_GET_REPLY,
+   E_IPC_OP_FONT_AVAILABLE_LIST,
+   E_IPC_OP_FONT_AVAILABLE_LIST_REPLY,
+   E_IPC_OP_FONT_APPLY,
+   E_IPC_OP_FONT_FALLBACK_CLEAR,
+   E_IPC_OP_FONT_FALLBACK_APPEND,
+   E_IPC_OP_FONT_FALLBACK_PREPEND,
+   E_IPC_OP_FONT_FALLBACK_LIST,
+   E_IPC_OP_FONT_FALLBACK_LIST_REPLY,
+   E_IPC_OP_FONT_FALLBACK_REMOVE,
+   E_IPC_OP_FONT_DEFAULT_SET,
+   E_IPC_OP_FONT_DEFAULT_GET,
+   E_IPC_OP_FONT_DEFAULT_GET_REPLY,
+   E_IPC_OP_FONT_DEFAULT_REMOVE,
+   E_IPC_OP_FONT_DEFAULT_LIST,
+   E_IPC_OP_FONT_DEFAULT_LIST_REPLY,
    E_IPC_OP_RESTART,
    E_IPC_OP_LAST
 } E_Ipc_Op;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_main.c,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -3 -r1.58 -r1.59
--- e_main.c    1 Apr 2005 16:12:29 -0000       1.58
+++ e_main.c    2 Apr 2005 16:40:37 -0000       1.59
@@ -224,6 +224,9 @@
      }
    _e_main_shutdown_push(ecore_evas_shutdown);
    
+        
+   /*** Finished loading subsystems, Loading WM Specifics ***/
+        
    /* setup directories we will be using for configurations sotrage etc. */
    if (!_e_main_dirs_init())
      {
@@ -250,9 +253,15 @@
    
    /* setup edje to animate @ e_config->framerate frames per sec. */
    edje_frametime_set(1.0 / e_config->framerate);
-   /* FIXME: this is just appending Kochi if Vera doesnt have it. We need
-    * a full config support subsystem for this */
-   edje_fontset_append_set("Kochi-Gothic,Baekmuk-Dotum");
+
+   /* init font system */
+   if (!e_font_init())
+     {
+       e_error_message_show("Enlightenment cannot set up its font system.");
+        _e_main_shutdown(-1);
+     }
+   _e_main_shutdown_push(e_font_shutdown);
+   e_font_apply();
    e_canvas_recache();
    
    /* setup init status window/screen */
@@ -379,7 +388,7 @@
    return 0;
 }
 
-/* FIXME: make save to delete within a callback */
+/* FIXME: make safe to delete within a callback */
 E_Before_Idler *
 e_main_idler_before_add(int (*func) (void *data), void *data, int once)
 {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_remote_main.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- e_remote_main.c     17 Mar 2005 01:30:50 -0000      1.9
+++ e_remote_main.c     2 Apr 2005 16:40:37 -0000       1.10
@@ -36,10 +36,12 @@
 #define SIMPLE_REQ     0
 #define SIMPLE_STR_REQ 1
 #define FULL_FUNC      2
+#define MULTI_STR_REQ  3
 
 #define OREQ(opt, desc, ipc, rep) {opt, desc, 0, rep, SIMPLE_REQ, ipc, NULL}
 #define OSTR(opt, desc, ipc, rep) {opt, desc, 1, rep, SIMPLE_STR_REQ, ipc, 
NULL}
 #define OFNC(opt, desc, param, fn, rep) {opt, desc, param, rep, SIMPLE_FUNC, 
0, fn}
+#define OMUL(opt, desc, ipc, rep, argc) {opt, desc, argc, rep, MULTI_STR_REQ, 
ipc, NULL}
 
 E_IPC_Opt_Handler handlers[] =
 {
@@ -49,6 +51,17 @@
    OSTR("-module-disable", "Disable module OPT1 if not disabled", 
E_IPC_OP_MODULE_DISABLE, 0),
    OREQ("-module-list", "List all loaded modules and their states", 
E_IPC_OP_MODULE_LIST, 1),
    OSTR("-bg-set", "Set the background edje file to be OPT1", E_IPC_OP_BG_SET, 
0),
+   OSTR("-font-fallback-remove", "Remove OPT1 from the fontset", 
E_IPC_OP_FONT_FALLBACK_REMOVE, 0),
+   OSTR("-font-fallback-prepend", "Prepend OPT1 to the fontset", 
E_IPC_OP_FONT_FALLBACK_PREPEND, 0),
+   OSTR("-font-fallback-append", "Append OPT1 to the fontset", 
E_IPC_OP_FONT_FALLBACK_APPEND, 0),
+   OREQ("-font-apply", "Apply changes made to the font system", 
E_IPC_OP_FONT_APPLY, 0),
+   OREQ("-font-fallback-list", "List the fallback fonts in order", 
E_IPC_OP_FONT_FALLBACK_LIST, 1),
+   OREQ("-font-available-list", "List available fonts", 
E_IPC_OP_FONT_AVAILABLE_LIST, 1),
+   OREQ("-font-fallback-clear", "Clear font fallback list", 
E_IPC_OP_FONT_FALLBACK_CLEAR, 0),
+   OSTR("-font-default-get", "List the default font associated with OPT1", 
E_IPC_OP_FONT_DEFAULT_GET, 1),
+   OSTR("-font-default-remove", "Remove the default text class OPT1", 
E_IPC_OP_FONT_DEFAULT_REMOVE, 0),
+   OREQ("-font-default-list", "List all configured text classes", 
E_IPC_OP_FONT_DEFAULT_LIST, 1),
+   OMUL("-font-default-set", "Set textclass (OPT1) font (OPT2) and size 
(OPT3)", E_IPC_OP_FONT_DEFAULT_SET, 0, 3),
    OREQ("-restart", "Restart E17", E_IPC_OP_RESTART, 0)
 };
 
@@ -196,8 +209,10 @@
    ecore_app_args_get(&argc, &argv);
    for (i = 1; i < argc; i++)
      {
-       char *v;
+       char *v, *p;
        int j;
+       int k;
+       int data_size;
        
        for (j = 0; j < (int)(sizeof(handlers) / sizeof(E_IPC_Opt_Handler)); 
j++)
          {
@@ -231,6 +246,29 @@
                                                  0/*ref*/, 0/*ref_to*/, 
0/*response*/,
                                                  v, strlen(v));
                            break;
+                         case MULTI_STR_REQ:
+                           /* pack up the data "<str>0<str>0" */
+                           data_size = 0;
+                           for(k = 0; k < handler->num_params; k++) {
+                               data_size += strlen(argv[ i + 1 + k ]);
+                               data_size++; /* NULL Pad */
+                           }                        
+                           v = malloc(data_size);
+                           p = v;                              
+                           for(k = 0; k < handler->num_params; k++) {
+                                strcpy(p, argv[ i + 1 + k]);
+                                p += strlen(argv[ i + 1 + k]);
+                                *p = 0;
+                                p++;
+                           }   
+                           ecore_ipc_server_send(_e_ipc_server,
+                                                 E_IPC_DOMAIN_REQUEST,
+                                                 handler->simple_request_id,
+                                                 0/*ref*/, 0/*ref_to*/, 
0/*response*/,
+                                                 v, data_size);
+                           free(v);
+ 
+                           break;
                          case FULL_FUNC:
                            handler->func(argv + i + 1);
                            break;
@@ -257,7 +295,7 @@
    Ecore_Ipc_Event_Server_Del *e;
    
    e = event;
-   return 1;
+   return 1; 
 }
 
 static int
@@ -300,6 +338,107 @@
        else
          printf("REPLY: MODULE NONE\n");
        break;
+      case E_IPC_OP_FONT_FALLBACK_LIST_REPLY:
+       if (e->data)
+         {
+            char *p;
+            
+            p = e->data;
+            while (p < (char *)(e->data + e->size))
+              {
+                 char *name;
+                 
+                 name = p;
+                 p += strlen(name);
+                 if (p < (char *)(e->data + e->size))
+                   {
+                       printf("REPLY: FALLBACK NAME=\"%s\"\n", name);
+                   }
+                 p++;
+              }
+         }
+       else
+         printf("REPLY: FALLBACK NONE\n");
+       break;
+      case E_IPC_OP_FONT_AVAILABLE_LIST_REPLY:
+        if (e->data)
+          {
+             char *p;
+          
+             p = e->data;
+             while (p < (char *)(e->data + e->size))
+               {
+                 char *name;
+                 name = p;
+                 p += strlen(name);
+                 if (p < (char *)(e->data + e->size))
+                   {
+                       printf("REPLY: AVAILABLE NAME=\"%s\"\n", name);
+                   }
+                 p++;                      
+               }
+          }
+        else
+          printf("REPLY: AVAILABLE NONE\n"); 
+        break;   
+      case E_IPC_OP_FONT_DEFAULT_GET_REPLY:
+        if (e->data)
+          {
+             char *text_class, *name;
+             char *p;
+            char size;
+            
+            p = e->data;
+                 
+            text_class = p;
+            p += strlen(text_class) + 1;
+            if (p < (char *)(e->data + e->size))
+              {
+                      name = p;
+                      p  += strlen(name) + 1;     
+                      if (p < (char *)(e->data + e->size))
+                        {
+                                size = *p;
+                                printf("REPLY: DEFAULT TEXT_CLASS=\"%s\" 
NAME=\"%s\" SIZE=%i\n",
+                                  text_class, name, (int)size);
+                                p++;
+                         
+                        }
+              }
+          }
+        else
+          printf("REPLY: DEFAULT NONE\n"); 
+        break;
+      case E_IPC_OP_FONT_DEFAULT_LIST_REPLY:
+        if (e->data)
+          {
+             char *text_class, *name;
+             char *p;
+            char size;
+            
+            p = e->data;
+               
+       while (p < (char *)(e->data + e->size))
+       {  
+            text_class = p;
+            p += strlen(text_class) + 1;
+            if (p < (char *)(e->data + e->size))
+              {
+                      name = p;
+                      p += strlen(name) + 1;
+                      if (p < (char *)(e->data + e->size))
+                        {
+                                size = *p;
+                                printf("REPLY: DEFAULT TEXT_CLASS=\"%s\" 
NAME=\"%s\" SIZE=%i\n",
+                                  text_class, name, (int)size);
+                                p++;
+                        }
+              }
+         }
+          }
+        else
+          printf("REPLY: DEFAULT NONE\n"); 
+        break; 
       default:
        break;
      }




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to