get/set default engine and list.

SVN revision: 17361
This commit is contained in:
sebastid 2005-10-09 19:42:24 +00:00 committed by sebastid
parent 4074ef65b0
commit 18d91213a4
4 changed files with 112 additions and 0 deletions

View File

@ -1567,6 +1567,16 @@ e_config_profile_del(char *prof)
E_FREE(homedir);
}
Evas_List *
e_config_engine_list(void)
{
Evas_List *l = NULL;
l = evas_list_append(l, strdup("SOFTWARE"));
l = evas_list_append(l, strdup("GL"));
l = evas_list_append(l, strdup("XRENDER"));
return l;
}
void
e_config_save_block_set(int block)
{

View File

@ -256,6 +256,8 @@ EAPI Evas_List *e_config_profile_list(void);
EAPI void e_config_profile_add(char *prof);
EAPI void e_config_profile_del(char *prof);
EAPI Evas_List *e_config_engine_list(void);
EAPI void e_config_save_block_set(int block);
EAPI int e_config_save_block_get(void);

View File

@ -6380,3 +6380,97 @@ break;
#elif (TYPE == E_REMOTE_IN)
#endif
#undef HDL
/****************************************************************************/
#define HDL E_IPC_OP_DEFAULT_ENGINE_SET
#if (TYPE == E_REMOTE_OPTIONS)
OP("-default-engine-set", 1, "Set the default rendering engine to OPT1 (SOFTWARE, GLor XRENDER)", 0, HDL)
#elif (TYPE == E_REMOTE_OUT)
REQ_INT_START(HDL)
int value = 0;
if (!strcmp(params[0], "SOFTWARE")) value = E_EVAS_ENGINE_SOFTWARE_X11;
else if (!strcmp(params[0], "GL")) value = E_EVAS_ENGINE_GL_X11;
else if (!strcmp(params[0], "XRENDER")) value = E_EVAS_ENGINE_XRENDER_X11;
else
{
printf("engine must be SOFTWARE, GL or XRENDER\n");
exit(-1);
}
REQ_INT_END(value, HDL);
#elif (TYPE == E_WM_IN)
START_INT(value, HDL);
e_config->evas_engine_default = value;
E_CONFIG_LIMIT(e_config->evas_engine_default, E_EVAS_ENGINE_SOFTWARE_X11, E_EVAS_ENGINE_XRENDER_X11);
SAVE;
END_INT
#elif (TYPE == E_REMOTE_IN)
#endif
#undef HDL
/****************************************************************************/
#define HDL E_IPC_OP_DEFAULT_ENGINE_GET
#if (TYPE == E_REMOTE_OPTIONS)
OP("-default-engine-get", 0, "Get the default rendering engine", 1, HDL)
#elif (TYPE == E_REMOTE_OUT)
REQ_NULL(HDL);
#elif (TYPE == E_WM_IN)
SEND_INT(e_config->evas_engine_default, E_IPC_OP_DEFAULT_ENGINE_GET_REPLY, HDL);
#elif (TYPE == E_REMOTE_IN)
#endif
#undef HDL
/****************************************************************************/
#define HDL E_IPC_OP_DEFAULT_ENGINE_GET_REPLY
#if (TYPE == E_REMOTE_OPTIONS)
#elif (TYPE == E_REMOTE_OUT)
#elif (TYPE == E_WM_IN)
#elif (TYPE == E_REMOTE_IN)
START_INT(engine, HDL);
if (engine == E_EVAS_ENGINE_SOFTWARE_X11)
printf("REPLY: SOFTWARE\n");
else if (engine == E_EVAS_ENGINE_GL_X11)
printf("REPLY: GL\n");
else if (engine == E_EVAS_ENGINE_XRENDER_X11)
printf("REPLY: XRENDER\n");
else
printf("REPLY: UNKNOWN ENGINE: %d\n", engine);
END_INT
#endif
#undef HDL
/****************************************************************************/
#define HDL E_IPC_OP_ENGINE_LIST
#if (TYPE == E_REMOTE_OPTIONS)
OP("-engine-list", 0, "List all existing rendering engines", 1, HDL)
#elif (TYPE == E_REMOTE_OUT)
REQ_NULL(HDL);
#elif (TYPE == E_WM_IN)
GENERIC(HDL);
LIST_DATA();
Evas_List *engines;
engines = e_config_engine_list();
ENCODE(engines, e_ipc_codec_str_list_enc);
SEND_DATA(E_IPC_OP_ENGINE_LIST_REPLY);
FREE_LIST(engines);
END_GENERIC();
#elif (TYPE == E_REMOTE_IN)
#endif
#undef HDL
/****************************************************************************/
#define HDL E_IPC_OP_ENGINE_LIST_REPLY
#if (TYPE == E_REMOTE_OPTIONS)
#elif (TYPE == E_REMOTE_OUT)
#elif (TYPE == E_WM_IN)
#elif (TYPE == E_REMOTE_IN)
GENERIC(HDL);
LIST();
DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) {
printf("REPLY: \"%s\"\n", (char *)(l->data));
}
FREE_LIST(dat);
}
END_GENERIC();
#endif
#undef HDL

View File

@ -309,3 +309,9 @@
#define E_IPC_OP_PROFILE_ADD 296
#define E_IPC_OP_PROFILE_DEL 297
#define E_IPC_OP_DEFAULT_ENGINE_SET 298
#define E_IPC_OP_DEFAULT_ENGINE_GET 299
#define E_IPC_OP_DEFAULT_ENGINE_GET_REPLY 300
#define E_IPC_OP_ENGINE_LIST 301
#define E_IPC_OP_ENGINE_LIST_REPLY 302