本文整理汇总了C++中DENTER_FUNCTION函数的典型用法代码示例。如果您正苦于以下问题:C++ DENTER_FUNCTION函数的具体用法?C++ DENTER_FUNCTION怎么用?C++ DENTER_FUNCTION使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了DENTER_FUNCTION函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ewl_io_manager_plugin_uri_read
Ewl_Widget *
ewl_io_manager_plugin_uri_read(const char *uri)
{
Ewl_Widget *ret = NULL;
FILE *file;
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR_RET(uri, NULL);
if (!key1)
setup_hash();
file = fopen(uri, "r");
if (file)
{
struct stat buf;
char *str;
ret = ewl_text_new();
ewl_text_font_set(EWL_TEXT(ret), "ewl/monospace");
stat(uri, &buf);
str = malloc(sizeof(char) * (buf.st_size + 1));
fread(str, buf.st_size, 1, file);
str[buf.st_size] = '\0';
fclose(file);
text_set(EWL_TEXT(ret), str);
FREE(str);
}
DRETURN_PTR(ret, DLEVEL_STABLE);
}
示例2: ewl_io_manager_plugin_uri_write
int
ewl_io_manager_plugin_uri_write(Ewl_Widget *data, const char *uri)
{
FILE *file;
int ret = FALSE;
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR_RET(data, FALSE);
DCHECK_PARAM_PTR_RET(uri, FALSE);
DCHECK_TYPE_RET(data, EWL_TEXT_TYPE, FALSE);
file = fopen(uri, "w");
if (file)
{
char *txt;
txt = ewl_text_text_get(EWL_TEXT(data));
fwrite(txt, sizeof(char), strlen(txt), file);
FREE(txt);
fclose(file);
ret = TRUE;
}
DRETURN_INT(ret, DLEVEL_STABLE);
}
示例3: ewl_window_transient_for
/**
* @param win: window to set transient
* @param forwin: the window to be transient for
* @return Returns no value.
* @brief Sets a window to be transient for another window.
*/
void
ewl_window_transient_for(Ewl_Window *win, Ewl_Window *forwin)
{
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR(win);
DCHECK_TYPE(win, EWL_WINDOW_TYPE);
DCHECK_TYPE(forwin, EWL_WINDOW_TYPE);
win->transient.ewl = forwin;
win->flags &= ~EWL_WINDOW_TRANSIENT_FOREIGN;
/* if there is no forwin remove the transient for state
* and update the window, if it already exists */
if (!forwin) {
win->flags &= ~EWL_WINDOW_TRANSIENT;
if (win->window)
ewl_engine_window_transient_for(win);
DRETURN(DLEVEL_STABLE);
}
win->flags |= EWL_WINDOW_TRANSIENT;
if (win->window) {
if (forwin->window)
ewl_engine_window_transient_for(win);
else
ewl_callback_append(EWL_WIDGET(forwin),
EWL_CALLBACK_REALIZE,
ewl_window_cb_realize_parent,
win);
}
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
示例4: ewl_io_manager_uri_read
/**
* @param uri: The URI to read
* @return Returns a widget displaying the URI contents or NULL on error
* @brief Creates a widget to display the URI contents. Returns NULL on error
*/
Ewl_Widget *
ewl_io_manager_uri_read(const char *uri)
{
Ewl_Widget *ret = NULL;
Ewl_IO_Manager_Plugin *plugin = NULL;
const char *mime;
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR_RET(uri, NULL);
mime = ewl_io_manager_uri_mime_type_get(uri);
if (!mime)
{
DWARNING("Unable to determine mime type for %s.", uri);
DRETURN_PTR(NULL, DLEVEL_STABLE);
}
plugin = ewl_io_manager_plugin_get(mime);
if (!plugin)
{
DWARNING("No plugin available to read mime type: %s.", mime);
DRETURN_PTR(NULL, DLEVEL_STABLE);
}
ret = plugin->uri_read(uri);
DRETURN_PTR(ret, DLEVEL_STABLE);
}
示例5: ewl_text_context_hash_key
static unsigned int
ewl_text_context_hash_key(const void *ctx)
{
unsigned int key;
const Ewl_Text_Context *tx = ctx;
DENTER_FUNCTION(DLEVEL_STABLE);
key = 0;
if (tx->font)
key ^= ecore_str_hash(tx->font);
if (tx->font_source)
key ^= ecore_str_hash(tx->font_source);
key ^= (tx->size << 5);
key ^= (tx->styles << 7);
/* FIXME: we need to add align and wrap, to prevent degenerate
* hash values */
#define COLOR_HASH(c) (c.r << 24 | c.g << 16 | c.b << 8 | c.a)
key ^= COLOR_HASH(tx->color);
key ^= (COLOR_HASH(tx->style_colors.bg) << 1);
key ^= (COLOR_HASH(tx->style_colors.glow) >> 1);
key ^= (COLOR_HASH(tx->style_colors.outline) << 3);
key ^= (COLOR_HASH(tx->style_colors.shadow) >> 3);
key ^= (COLOR_HASH(tx->style_colors.strikethrough) << 5);
key ^= (COLOR_HASH(tx->style_colors.underline) >> 5);
key ^= (COLOR_HASH(tx->style_colors.double_underline) << 7);
DRETURN_INT(key, DLEVEL_STABLE);
}
示例6: ewl_spectrum_hsv_set
/**
* @param sp: The Ewl_Spectrum to set the hsv value into
* @param h: The hue to set
* @param s: The saturation to set
* @param v: The value to set
* @return Returns no value
* @brief Set the HSV values for the spectrum
*/
void
ewl_spectrum_hsv_set(Ewl_Spectrum *sp, double h, double s, double v)
{
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR(sp);
DCHECK_TYPE(sp, EWL_SPECTRUM_TYPE);
sp->hsv.h = h;
sp->hsv.s = s;
sp->hsv.v = v;
if (sp->hsv.h > 360) sp->hsv.h = 360.0;
if (sp->hsv.h <= 0) sp->hsv.h = 360.0;
if (sp->hsv.s > 1.0) sp->hsv.s = 1.0;
if (sp->hsv.s < 0.0) sp->hsv.s = 0.0;
if (sp->hsv.v > 1.0) sp->hsv.v = 1.0;
if (sp->hsv.v < 0.0) sp->hsv.v = 0.0;
ewl_spectrum_rgb_from_hsv(sp);
sp->dirty = TRUE;
ewl_widget_configure(EWL_WIDGET(sp));
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
示例7: ewl_border_init
/**
* @param b: the border container to initialize
* @return Returns TRUE on success, FALSE on failure.
* @brief Initialize a border container to default values
*/
int
ewl_border_init(Ewl_Border *b)
{
Ewl_Widget *w;
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR_RET(b, FALSE);
w = EWL_WIDGET(b);
if (!ewl_box_init(EWL_BOX(w))) {
DRETURN_INT(FALSE, DLEVEL_STABLE);
}
ewl_box_orientation_set(EWL_BOX(w), EWL_ORIENTATION_VERTICAL);
ewl_object_fill_policy_set(EWL_OBJECT(w), EWL_FLAG_FILL_FILL);
ewl_widget_appearance_set(EWL_WIDGET(b), EWL_BORDER_TYPE);
ewl_widget_inherit(EWL_WIDGET(b), EWL_BORDER_TYPE);
b->label = ewl_label_new();
ewl_widget_internal_set(b->label, TRUE);
ewl_container_child_append(EWL_CONTAINER(b), b->label);
ewl_widget_show(b->label);
b->body = ewl_vbox_new();
ewl_widget_internal_set(b->body, TRUE);
ewl_container_child_append(EWL_CONTAINER(b), b->body);
ewl_widget_show(b->body);
b->label_position = EWL_POSITION_TOP;
ewl_container_redirect_set(EWL_CONTAINER(b), EWL_CONTAINER(b->body));
DRETURN_INT(TRUE, DLEVEL_STABLE);
}
示例8: ewl_text_context_print
/**
* @internal
* @param tx: The context to print
* @param indent: The indent level to use
* @return Returns no value
* @brief Prints out the context information
**/
void
ewl_text_context_print(Ewl_Text_Context *tx, const char *indent)
{
const char *t, *s;
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR(tx);
if (!tx->font) t = "";
else t = tx->font;
if (!tx->font_source) s = "";
else s = tx->font_source;
printf("%sfont: %s (source: %s)\n"
"%ssize %d\n"
"%sstyle %d\n"
"%salign %d\n"
"%swrap %d\n"
"%sred %d\n"
"%sgreen %d\n"
"%sblue %d\n"
"%salpha %d",
indent, t, s, indent, tx->size, indent,
tx->styles, indent, tx->align,
indent, tx->wrap, indent, tx->color.r,
indent, tx->color.g, indent, tx->color.b,
indent, tx->color.a);
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
示例9: ewl_notebook_cb_child_add
/**
* @internal
* @param c: The container to work with
* @param w: The widget to work with
* @return Returns no value
* @brief The child add callback
*/
void
ewl_notebook_cb_child_add(Ewl_Container *c, Ewl_Widget *w)
{
Ewl_Notebook *n;
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR(c);
DCHECK_PARAM_PTR(w);
DCHECK_TYPE(c, EWL_CONTAINER_TYPE);
DCHECK_TYPE(w, EWL_WIDGET_TYPE);
n = EWL_NOTEBOOK(EWL_WIDGET(c)->parent);
/* stick a null tab in there so that it at least shows up */
ewl_notebook_page_tab_widget_set(n, w, NULL);
/* we have no current page, make it this one */
if (!n->cur_page)
{
ewl_notebook_visible_page_set(n, w);
ewl_widget_show(w);
}
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
示例10: ewl_scrollport_kinetic_cb_mouse_down_embedded
/**
* @internal
* @param w: The widget to work with
* @ev_data: The Ewl_Event_Mouse_Down data
* @param data: The scrollport
* @return Returns no value
* @brief The mouse down function for kinetic scrolling
*/
static void
ewl_scrollport_kinetic_cb_mouse_down_embedded(Ewl_Widget *w, void *ev,
void *data)
{
Ewl_Scrollport *s;
Ewl_Event_Mouse *md;
Ewl_Scrollport_Kinetic_Info_Embedded *info;
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR(ev);
DCHECK_PARAM_PTR(data);
DCHECK_TYPE(w, EWL_WIDGET_TYPE);
s = EWL_SCROLLPORT(data);
md = EWL_EVENT_MOUSE(ev);
info = s->kinfo->extra;
s->kinfo->clicked = !!TRUE;
s->kinfo->active = !!FALSE;
memset(&(info->back[0]), 0, sizeof(info->back[0]) * HIST_NUM);
info->back[0].x = md->x;
info->back[0].y = md->y;
info->back[0].time = ecore_time_get();
info->xs = md->x;
info->ys = md->y;
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
示例11: ewl_popup_init
/**
* @param p: the popup to initialize
* @return Returns TRUE on success, FALSE on failure.
* @brief Initialize the popup and inherited fields
*
* Clears the contents of the popup and stores the
* default values.
*/
int
ewl_popup_init(Ewl_Popup *p)
{
Ewl_Widget *w;
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR_RET(p, FALSE);
w = EWL_WIDGET(p);
if (!ewl_window_init(EWL_WINDOW(w)))
DRETURN_INT(FALSE, DLEVEL_STABLE);
ewl_widget_inherit(w, EWL_POPUP_TYPE);
ewl_widget_appearance_set(w, EWL_POPUP_TYPE);
ewl_object_fill_policy_set(EWL_OBJECT(p), EWL_FLAG_FILL_NONE);
ewl_window_override_set(EWL_WINDOW(p), TRUE);
ewl_container_show_notify_set(EWL_CONTAINER(p),
ewl_popup_cb_child_show);
ewl_container_resize_notify_set(EWL_CONTAINER(p),
ewl_popup_cb_child_resize);
/*
* add the callbacks
*/
ewl_callback_append(w, EWL_CALLBACK_SHOW, ewl_popup_cb_show, NULL);
ewl_callback_append(w, EWL_CALLBACK_CONFIGURE, ewl_popup_cb_show, NULL);
ewl_callback_append(w, EWL_CALLBACK_MOUSE_MOVE, ewl_popup_cb_mouse_move,
NULL);
ewl_callback_prepend(w, EWL_CALLBACK_DESTROY, ewl_popup_cb_destroy,
NULL);
DRETURN_INT(TRUE, DLEVEL_STABLE);
}
示例12: ewl_overlay_init
/**
* @param w: the overlay to be initialized to default values and callbacks
* @return Returns TRUE or FALSE depending on if initialization succeeds.
* @brief initialize a overlay to default values and callbacks
*
* Sets the values and callbacks of a overlay @a w to their defaults.
*/
int
ewl_overlay_init(Ewl_Overlay *w)
{
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR_RET(w, FALSE);
/*
* Initialize the fields of the inherited container class
*/
if (!ewl_container_init(EWL_CONTAINER(w)))
DRETURN_INT(FALSE, DLEVEL_STABLE);
ewl_widget_appearance_set(EWL_WIDGET(w), EWL_OVERLAY_TYPE);
ewl_widget_inherit(EWL_WIDGET(w), EWL_OVERLAY_TYPE);
ewl_container_show_notify_set(EWL_CONTAINER(w),
ewl_overlay_cb_child_show);
ewl_container_resize_notify_set(EWL_CONTAINER(w),
ewl_overlay_cb_child_resize);
ewl_object_fill_policy_set(EWL_OBJECT(w), EWL_FLAG_FILL_NONE);
/*
* Override the default configure callbacks since the overlay
* has special needs for placement.
*/
ewl_callback_prepend(EWL_WIDGET(w), EWL_CALLBACK_CONFIGURE,
ewl_overlay_cb_configure, NULL);
DRETURN_INT(TRUE, DLEVEL_STABLE);
}
示例13: ewl_menu_expand
/**
* @param menu: the menu to work with
* @return Returns no value
* @brief Expand the popup portion of the menu
*/
void
ewl_menu_expand(Ewl_Menu *menu)
{
Ewl_Menu_Item *item;
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR(menu);
DCHECK_TYPE(menu, EWL_MENU_TYPE);
item = EWL_MENU_ITEM(menu);
/* nothing to do if the popup is already visible */
if (VISIBLE(menu->popup))
DRETURN(DLEVEL_STABLE);
ewl_widget_show(menu->popup);
ewl_window_raise(EWL_WINDOW(menu->popup));
if (item->inmenu) {
Ewl_Context_Menu *cm;
cm = EWL_CONTEXT_MENU(item->inmenu);
cm->open_menu = EWL_WIDGET(menu);
}
else
ewl_widget_focus_send(menu->popup);
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
示例14: ewl_popup_follow_set
/**
* @param p: The popup to set the follow widget
* @param w: The widget to follow
* @return Returns no value
* @brief Set the follow widget of the popup
*/
void
ewl_popup_follow_set(Ewl_Popup *p, Ewl_Widget *w)
{
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR(p);
DCHECK_TYPE(p, EWL_POPUP_TYPE);
if (p->follow == w)
DRETURN(DLEVEL_STABLE);
if (p->follow) {
ewl_callback_del_with_data(p->follow, EWL_CALLBACK_DESTROY,
ewl_popup_cb_follow_destroy, p);
ewl_callback_del_with_data(p->follow, EWL_CALLBACK_CONFIGURE,
ewl_popup_cb_follow_configure,
p);
}
if (w) {
ewl_callback_prepend(w, EWL_CALLBACK_DESTROY,
ewl_popup_cb_follow_destroy, p);
ewl_callback_append(w, EWL_CALLBACK_CONFIGURE,
ewl_popup_cb_follow_configure, p);
}
p->follow = w;
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
示例15: ewl_icon_theme_icon_path_get_helper
static const char *
ewl_icon_theme_icon_path_get_helper(const char *icon, unsigned int size,
const char *theme, const char *key,
Ecore_Hash *cache)
{
char *ret;
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR_RET(icon, EWL_THEME_KEY_NOMATCH);
#if BUILD_EFREET_SUPPORT
ret = ecore_hash_get(cache, key);
if (!ret)
{
/* XXX: How to store NOMATCH in the cache? The cache is strings which must be free'd */
ret = efreet_icon_path_find(theme, icon, size);
if (!ret) ret = EWL_THEME_KEY_NOMATCH;
else ecore_hash_set(cache, strdup(key), (void *)ret);
}
#else
ret = EWL_THEME_KEY_NOMATCH;
#endif
DRETURN_PTR(ret, DLEVEL_STABLE);
}