コード例 #1
0
ファイル: skin.c プロジェクト: ezc/fcitx
void DisplaySkin(FcitxClassicUI* classicui, char * skinname)
{
    char *pivot = classicui->skinType;
    classicui->skinType = strdup(skinname);
    if (pivot)
        free(pivot);

    if (LoadSkinConfig(&classicui->skin, &classicui->skinType))
        FcitxInstanceEnd(classicui->owner);

#ifndef _ENABLE_PANGO
    GetValidFont(classicui->strUserLocale, &classicui->font);
    GetValidFont(classicui->strUserLocale, &classicui->menuFont);
#endif

    FcitxXlibWindowPaint(&classicui->mainWindow->parent);
    FcitxXlibWindowPaint(&classicui->inputWindow->parent);
    TrayWindowDraw(classicui->trayWindow);

    SaveClassicUIConfig(classicui);

    classicui->epoch ++;
}
コード例 #2
0
ファイル: skin.c プロジェクト: areslp/fcitx
void DisplaySkin(FcitxClassicUI* classicui, char * skinname)
{
    char *pivot = classicui->skinType;
    classicui->skinType = strdup(skinname);
    if (pivot)
        free(pivot);

    if (LoadSkinConfig(&classicui->skin, &classicui->skinType))
        FcitxInstanceEnd(classicui->owner);

#ifndef _ENABLE_PANGO
    GetValidFont(classicui->strUserLocale, &classicui->font);
    GetValidFont(classicui->strUserLocale, &classicui->menuFont);
#endif

    LoadInputMessage(&classicui->skin, classicui->inputWindow, classicui->font);

    DrawMainWindow(classicui->mainWindow);
    DrawInputWindow(classicui->inputWindow);
    DrawTrayWindow(classicui->trayWindow);

    SaveClassicUIConfig(classicui);
}
コード例 #3
0
ファイル: vk.c プロジェクト: areslp/fcitx
VKWindow* CreateVKWindow(FcitxVKState* vkstate)
{
    XSetWindowAttributes attrib;
    unsigned long   attribmask;
    char        strWindowName[] = "Fcitx VK Window";
    Colormap cmap;
    Visual * vs;
    int depth;
    VKWindow* vkWindow = fcitx_utils_new(VKWindow);
    vkWindow->owner = vkstate;

    LoadVKImage(vkWindow);

    vs = VKFindARGBVisual(vkstate);
    VKInitWindowAttribute(vkstate, &vs, &cmap, &attrib, &attribmask, &depth);
    vkWindow->dpy = InvokeVaArgs(vkstate->owner, FCITX_X11, GETDISPLAY);

    vkWindow->fontSize = 12;
    vkWindow->defaultFont = strdup("sans");
#ifndef _ENABLE_PANGO
    GetValidFont("zh", &vkWindow->defaultFont);
#endif

    vkWindow->window = XCreateWindow(vkWindow->dpy,
                                     DefaultRootWindow(vkWindow->dpy),
                                     0, 0,
                                     VK_WINDOW_WIDTH, VK_WINDOW_HEIGHT,
                                     0, depth, InputOutput, vs, attribmask, &attrib);
    if (vkWindow->window == (Window) None)
        return NULL;

    vkWindow->surface = cairo_xlib_surface_create(vkWindow->dpy, vkWindow->window, vs, VK_WINDOW_WIDTH, VK_WINDOW_HEIGHT);

    XSelectInput(vkWindow->dpy, vkWindow->window, ExposureMask | ButtonPressMask | ButtonReleaseMask  | PointerMotionMask);

    VKSetWindowProperty(vkstate, vkWindow->window, FCITX_WINDOW_DOCK, strWindowName);

    InvokeVaArgs(vkstate->owner, FCITX_X11, ADDXEVENTHANDLER,
                 VKWindowEventHandler, vkWindow);

    return vkWindow;
}