Back to index

im-sdk  12.3.91
Classes | Typedefs | Functions
tableinput.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _LocalTableExt

Typedefs

typedef struct _LocalTableExt LocalTableExt

Functions

void Ximp_Local_Table_Create (XicCommon ic)
void Ximp_Local_Table_Start (XicCommon ic)
void Ximp_Local_Table_Draw (XicCommon ic)
void Ximp_Local_Table_Done (XicCommon ic)
void Ximp_Local_Table_Destroy (XicCommon ic)

Class Documentation

struct _LocalTableExt

Definition at line 46 of file tableinput.h.

Collaboration diagram for _LocalTableExt:
Class Members
XFontSet fontset
GC gc
Bool need_free_fontset
int nrange
LuRange * range
XRectangle rect
GC rgc
int theight
Window window

Typedef Documentation

typedef struct _LocalTableExt LocalTableExt

Function Documentation

Definition at line 343 of file tableinput.c.

                                      {
  LocalIMState *state = (LocalIMState *)(ic->local_icpart->imstate);
  LocalTableExt *hook = (LocalTableExt *)(ic->local_icpart->table_ext);
  Display *display = ic->core.im->core.display;

  if (!display || !state || !state->attr) return;

  if (!(XIMP_CHK_FOCUSWINMASK(ic))) {
    return;  /* Client's not ready, Let's do it later */
  }
  if (!hook) {
    if (!setup_local_table_ext(ic))
      return;
    hook = (LocalTableExt *)(ic->local_icpart->table_ext);
  }
  if (!hook->window) {
    hook->window = setup_table_window(ic);
    if (!hook->window) return;
    set_table_window_size(ic);
  }
  return;
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 405 of file tableinput.c.

                                       {
  LocalTableExt *hook = (LocalTableExt *)(ic->local_icpart->table_ext);
  Display *display = ic->core.im->core.display;
  if (!hook || !display) return;

  if (hook->window) {
    XDestroyWindow(display, hook->window);
    _XUnregisterFilter(display, hook->window,
                     RepaintTable, (XPointer)ic);
    _XUnregisterFilter(display, hook->window,
                     FilterKeyPress, (XPointer)ic);
    _XUnregisterFilter(display, hook->window,
                     FilterMotionNotify, (XPointer)ic);
    _XUnregisterFilter(display, hook->window,
                     FilterButtonRelease, (XPointer)ic);
    hook->window = 0;
  }
  if (hook->gc) XFreeGC(display, hook->gc);
  if (hook->rgc) XFreeGC(display, hook->rgc);

  if (hook->need_free_fontset && hook->fontset) {
    XFreeFontSet(display, hook->fontset);
    hook->need_free_fontset = False;
  }
  if (hook->range) Xfree(hook->range);
  Xfree(hook);
  
  ic->local_icpart->table_ext = 0;
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 395 of file tableinput.c.

                                    {
  LocalTableExt *hook = (LocalTableExt *)(ic->local_icpart->table_ext);
  Display *display = ic->core.im->core.display;
  Ximp_Local_Lookup_Done(ic);
  if (hook && display)
    XUnmapWindow(display, hook->window);
  return;
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 391 of file tableinput.c.

                                    {
}

Here is the caller graph for this function:

Definition at line 367 of file tableinput.c.

                                     {
  LocalTableExt *hook = (LocalTableExt *)(ic->local_icpart->table_ext);
  Display *display = ic->core.im->core.display;
  XSizeHints hints;

  if (!hook) {
    Ximp_Local_Table_Create(ic);
    hook = (LocalTableExt *)(ic->local_icpart->table_ext);
    if (!hook) return;
  }
  hints.flags = PSize | PMinSize | PMaxSize;
  hints.width = hook->rect.x;
  hints.min_width = hook->rect.width;
  hints.max_width = hook->rect.width;
  hints.height = hook->rect.height;
  hints.min_height = hook->rect.height;
  hints.max_height = hook->rect.height;
  XSetWMNormalHints(display, hook->window, &hints);
  move_table_window(ic);
  XMapWindow(display, hook->window);
  return;
}

Here is the call graph for this function:

Here is the caller graph for this function: