WinDom: xobjc_global.h File Reference

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- File List
- Globals

# xobjc_global.h File Reference

`#include <compiler.h>`
`#include <windom/udlib.h>`
`#include "xobjc_interface.h"`

Go to the source code of this file.

## Data Structures
struct | XOBJC_DATA
struct | W_PARM
struct | W_XEDIT
## Defines
#define | BUILTIN_XOBJC 1
#define | MODIF_XEDIT 1
#define | __GEMLIB_OLDNAMES
#define | APP_MALLOC(size) env->app_malloc(size)
#define | APP_FREE(addr) env->app_free(addr)
#define | UDEFTOS 1
#define | FL3DMASK 0x0600
#define | XFREESTR 0x0C
#define | XTEDINFO 0x0B
#define | XBFOBSPEC 0x0A
#define | IS_FLAGS(pblk, flags) (((pblk)->pb_tree[(pblk)->pb_obj].ob_flags & (flags))?1:0)
#define | IS_STATE(pblk, state) (((pblk)->pb_currstate & (state))?1:0)
#define | MASK_STATE (DISABLED|CROSSED|CHECKED|OUTLINED|SHADOWED)
#define | STATE8 0x0100
#define | STATE9 0x0200
#define | STATE10 0x0400
#define | STATE11 0x0800
#define | STATE12 0x1000
#define | STATE13 0x2000
#define | STATE14 0x4000
#define | STATE15 0x8000
#define | BOLD 0x01
#define | LIGHT 0x02
#define | ITALIC 0x04
#define | ULINE 0x08
#define | OUTLINE 0x10
#define | SHADOW 0x20
#define | _FSM 0x5F46534DUL
#define | CONF(uldata) ((uldata)->config)
#define | BUT3D_PAT 0
#define | ONGLT_PAT 0
#define | DIALM_PAT 0
#define | SYSFONT 0
#define | XEDIT_CURS_ON 0x1
#define | XEDIT_BLOC_ON 0x2
## Functions
long | _xobjc_extended (OBJECT *, long, long, APPENV *)
void | _xobjc_extfree (OBJECT *, long, APPENV *)
char * | _xobjc_string (OBJECT *, long, char *, APPENV *)
long | _xobjc_char (OBJECT *, long, long, APPENV *)
long | _xobjc_edit (OBJECT *, long, long, short *, long, long, GRECT *, APPENV *)
long | _xobjc_get_edpos (OBJECT *, long, long, long, APPENV *)
long | _xobjc_get_unextended (OBJECT *, int, APPENV *)
void | _xobjc_xedit_curs (XOBJC_DATA *, OBJECT *, int, GRECT *)
| Draw the cursor.
void | _xobjc_xedit_bloc (XOBJC_DATA *, OBJECT *, int, GRECT *)
| reverse-video of the bloc (text selected)
int | _xobjc_width_curs (XOBJC_DATA *uldata, W_XEDIT *xedit, int curs)
size_t | _xobjc_realloc_xedit (size_t old, size_t len)
| Check if the bloc size allocated for the XEDIT is big enough.
short __CDECL | ub_button (PARMBLK *pblk)
| userdef subroutine for selectable buttons (radio, chechbox.
short __CDECL | ub_boxtitle (PARMBLK *pblk)
| userdef subroutine for boxtitle
short __CDECL | ub_ulinetext (PARMBLK *pblk)
| userdef subroutine for underlined text
short __CDECL | ub_boxcircle (PARMBLK *pblk)
| userdef subroutine for boxcircle
short __CDECL | ub_onglet (PARMBLK *pblk)
| userdef subroutine for thumb
short __CDECL | ub_popuptext (PARMBLK *pblk)
| userdef subroutine for popup button
short __CDECL | ub_boxchar3d (PARMBLK *pblk)
short __CDECL | ub_mntitle (PARMBLK *pblk)
short __CDECL | ub_dialmover (PARMBLK *pblk)
short __CDECL | ub_multiligne (PARMBLK *pblk)
short __CDECL | ub_boxtext3d (PARMBLK *pblk)
short __CDECL | ub_editable (PARMBLK *pblk)
short __CDECL | ub_but3d (PARMBLK *pblk)
short __CDECL | ub_box3d (PARMBLK *pblk)
short __CDECL | ub_ibox3d (PARMBLK *pblk)

## Define Documentation

#define __GEMLIB_OLDNAMES

#define _FSM 0x5F46534DUL

#define APP_FREE | ( | addr |  | ) | env->app_free(addr)

#define APP_MALLOC | ( | size |  | ) | env->app_malloc(size)

#define BOLD 0x01

#define BUILTIN_XOBJC 1

#define BUT3D_PAT 0

#define CONF | ( | uldata |  | ) | ((uldata)->config)

#define DIALM_PAT 0

#define FL3DMASK 0x0600

#define IS_FLAGS | ( | pblk,
|  | flags |  | ) | (((pblk)->pb_tree[(pblk)->pb_obj].ob_flags & (flags))?1:0)

#define IS_STATE | ( | pblk,
|  | state |  | ) | (((pblk)->pb_currstate & (state))?1:0)

#define ITALIC 0x04

#define LIGHT 0x02

#define MASK_STATE (DISABLED|CROSSED|CHECKED|OUTLINED|SHADOWED)

#define MODIF_XEDIT 1

#define ONGLT_PAT 0

#define OUTLINE 0x10

#define SHADOW 0x20

#define STATE10 0x0400

#define STATE11 0x0800

#define STATE12 0x1000

#define STATE13 0x2000

#define STATE14 0x4000

#define STATE15 0x8000

#define STATE8 0x0100

#define STATE9 0x0200

#define SYSFONT 0

#define UDEFTOS 1

#define ULINE 0x08

#define XBFOBSPEC 0x0A

#define XEDIT_BLOC_ON 0x2

#define XEDIT_CURS_ON 0x1

#define XFREESTR 0x0C

#define XTEDINFO 0x0B

## Function Documentation

long _xobjc_char | ( | OBJECT * | ,
|  | long | ,
|  | long | ,
|  | APPENV * |
| ) |

long _xobjc_edit | ( | OBJECT * | ,
|  | long | ,
|  | long | ,
|  | short * | ,
|  | long | ,
|  | long | ,
|  | GRECT * | ,
|  | APPENV * |
| ) |

long _xobjc_extended | ( | OBJECT * | ,
|  | long | ,
|  | long | ,
|  | APPENV * |
| ) |

void _xobjc_extfree | ( | OBJECT * | ,
|  | long | ,
|  | APPENV * |
| ) |

long _xobjc_get_edpos | ( | OBJECT * | ,
|  | long | ,
|  | long | ,
|  | long | ,
|  | APPENV * |
| ) |

long _xobjc_get_unextended | ( | OBJECT * | ,
|  | int | ,
|  | APPENV * |
| ) |

size_t _xobjc_realloc_xedit | ( | size_t | old,
|  | size_t | len
| ) |

  | Check if the bloc size allocated for the XEDIT is big enough. Parameters:
  | old | size of the memory bloc
  | len | is the len of the text
Returns: 0 if the bloc size if sufficient, or the new size of the memory block to reallocate.

char* _xobjc_string | ( | OBJECT * | ,
|  | long | ,
|  | char * | ,
|  | APPENV * |
| ) |

int _xobjc_width_curs | ( | XOBJC_DATA * | uldata,
|  | W_XEDIT * | xedit,
|  | int | curs
| ) |

void _xobjc_xedit_bloc | ( | XOBJC_DATA * | uldata,
|  | OBJECT * | tree,
|  | int | idx,
|  | GRECT * | grect
| ) |

  | reverse-video of the bloc (text selected) Parameters:
  | uldata |
  | tree |
  | idx |
  | grect | absolute position and size of the object
This function draws a black filled rectangle in XOR mode over the area of the selected text. The clipping area has to be set before calling this function.

void _xobjc_xedit_curs | ( | XOBJC_DATA * | uldata,
|  | OBJECT * | tree,
|  | int | idx,
|  | GRECT * | grect
| ) |

  | Draw the cursor. Parameters:
  | uldata |
  | tree |
  | idx |
  | grect | absolute position and size of the object
This function draws the text cursor. The clipping area has to be set before calling this function.

short __CDECL ub_box3d | ( | PARMBLK * | pblk | ) |

short __CDECL ub_boxchar3d | ( | PARMBLK * | pblk | ) |

short __CDECL ub_boxcircle | ( | PARMBLK * | pblk | ) |

  | userdef subroutine for boxcircle Parameters:
  | pblk |

short __CDECL ub_boxtext3d | ( | PARMBLK * | pblk | ) |

short __CDECL ub_boxtitle | ( | PARMBLK * | pblk | ) |

  | userdef subroutine for boxtitle Parameters:
  | pblk |

short __CDECL ub_but3d | ( | PARMBLK * | pblk | ) |

short __CDECL ub_button | ( | PARMBLK * | pblk | ) |

  | userdef subroutine for selectable buttons (radio, chechbox. ..) Parameters:
  | pblk | objects with EXIT flag _and_ without RBUTTON flag is drawn as a standard 3d button.
an icon is drawn on the left of each object. The icon choosen depend on the DRAW3D flag and the STATE8 ob_state.

short __CDECL ub_dialmover | ( | PARMBLK * | pblk | ) |

short __CDECL ub_editable | ( | PARMBLK * | pblk | ) |

short __CDECL ub_ibox3d | ( | PARMBLK * | pblk | ) |

short __CDECL ub_mntitle | ( | PARMBLK * | pblk | ) |

short __CDECL ub_multiligne | ( | PARMBLK * | pblk | ) |

short __CDECL ub_onglet | ( | PARMBLK * | pblk | ) |

  | userdef subroutine for thumb Parameters:
  | pblk |

short __CDECL ub_popuptext | ( | PARMBLK * | pblk | ) |

  | userdef subroutine for popup button Parameters:
  | pblk |

short __CDECL ub_ulinetext | ( | PARMBLK * | pblk | ) |

  | userdef subroutine for underlined text Parameters:
  | pblk | if ob_state & STATE8, then the underline is as long as the object width. otherwise, only the text is underlined.