/* Generated by Ctran from edwin.cl */
#define EDWIN_G
#ifndef LODGER_G
#include <lodger.g>
#endif
#ifndef SCRLAY_G
#include <scrlay.g>
#endif
/* Class Numbers */
#define C_EDWIN 34
#define C_PUNCTUED 35
#define C_EWLINKSV 36
/* Method Numbers */
#define O_EW_SET 21
#define O_EWLS_INIT 1
#define O_EW_REPLACE_CLIP 30
#define O_EW_INSERT 23
#define O_EW_BRING_IN 32
#define O_EW_REPLACE 28
#define O_EW_SENSE 22
#define O_EW_SNUGGLE_INSERT 24
#define O_EW_RETURN_KEY 34
#define O_EW_EP_INSERT 33
#define O_EW_TAB_KEY 35
#define O_EW_PASTE_CLIP 31
#define O_EW_FIND 27
#define O_EW_SET_SIZE 20
#define O_EW_LEAVE 26
#define O_EWLS_EXTRACT 2
#define O_EW_READONLY 37
#define O_EW_SET_FONT 25
#define O_EW_SENSE_SIZE 19
#define O_EW_INIT_STYLE 36
#define O_EW_EVALUATE 29
/* Constants for edwin */
#define PR_EDWIN_DIALLABLE 0x0001
#define PR_EDWIN_ACCEPT_TABS 0x0002
#define PR_EDWIN_ACCEPT_SOFT_HYPHENS 0x0004
#define PR_EDWIN_AUTO_CUR_END 0x0008
#define PR_EDWIN_AUTO_SELECT 0x0010
#define PR_EDWIN_DOC_SUPPLIED 0x0020
#define PR_EDWIN_CLIPBOARD 0x0040
#define PR_EDWIN_NOTIFY_OVERFLOW 0x0080
#define PR_EDWIN_READONLY 0x8000
#define IN_EDWIN_DIALLABLE PR_EDWIN_DIALLABLE
#define IN_EDWIN_ACCEPT_TABS PR_EDWIN_ACCEPT_TABS
#define IN_EDWIN_ACCEPT_SOFT_HYPHENS PR_EDWIN_ACCEPT_SOFT_HYPHENS
#define IN_EDWIN_AUTO_CUR_END (PR_EDWIN_AUTO_CUR_END|PR_EDWIN_AUTO_SELECT)
#define IN_EDWIN_NO_AUTOSELECT PR_EDWIN_AUTO_SELECT
#define IN_EDWIN_DOC_SUPPLIED PR_EDWIN_DOC_SUPPLIED
#define IN_EDWIN_CLIPBOARD PR_EDWIN_CLIPBOARD
#define IN_EDWIN_VULEN 0x0080
#define IN_EDWIN_VULEN_NOSCALE 0x0100
#define IN_EDWIN_VULEN_CHARACTERS IN_EDWIN_VULEN
#define IN_EDWIN_VULEN_PIXELS (IN_EDWIN_VULEN|IN_EDWIN_VULEN_NOSCALE)
#define IN_EDWIN_LEFT_CURSOR 0x0200
#define IN_EDWIN_TEXT_SEGMENTED 0x0400
#define IN_EDWIN_POSITION_SUPPLIED 0x0800
#define IN_EDWIN_FONT_SUPPLIED 0x1000
#define IN_EDWIN_LEADING_SUPPLIED 0x2000
#define IN_EDWIN_VISLINES_SUPPLIED 0x4000
#define IN_EDWIN_PAGINATABLE 0x8000
#define SET_EDWIN_TXT 0x01
#define SET_EDWIN_EMPTY 0x02
#define SET_EDWIN_CUR_END 0x04
#define SET_EDWIN_SEL_ALL 0x08
#define SET_EDWIN_CURSOR 0x10
#define SET_EDWIN_ANCHOR 0x20
#define EWF_BACKWARDS 0x0001
#define EWF_CASESENS 0x0002
#define EW_CHANGE_SINCE_SAVED 0x01
#define EW_CHANGE_SINCE_PAGINATE 0x02
#define EW_CHANGE 0xffff
#define EW_BRING_SINGLE_SHOT 0xf000
/* Types for edwin */
typedef struct
{
unsigned short int vulen;
unsigned short int flags;
unsigned short int maxlen;
char contents[1];
} IN_EDWIN;
typedef struct
{
short int total;
short int top;
} EDWIN_LEADING;
typedef struct
{
unsigned short int vislines;
P_POINT pos;
short int font;
unsigned short int style;
EDWIN_LEADING leading;
void *doc;
void *clip;
} IN_EDWIN_X;
typedef struct
{
char *buf;
unsigned short int len;
} SE_EDWIN;
typedef struct
{
unsigned short int flags;
SE_EDWIN txt;
unsigned short int cursor;
unsigned short int anchor;
} SET_EDWIN;
typedef struct
{
unsigned short int cursor;
unsigned short int anchor;
} SENSE_EDWIN;
/* Property of edwin */
typedef struct {
void *scrimg;
void *scrlay;
void *doc;
unsigned short int cpos;
unsigned short int clen;
void *clip;
unsigned short int select;
unsigned short int change;
unsigned short int flags;
SCRLAY_MARGINS margins;
SCRLAY_FONT font;
} PRS_EDWIN;
typedef struct pr_edwin
{
PRS_ROOT root;
PRS_WIN win;
PRS_LODGER lodger;
PRS_EDWIN edwin;
} PR_EDWIN;
/* Property of punctued */
typedef struct pr_punctued
{
PRS_ROOT root;
PRS_WIN win;
PRS_LODGER lodger;
PRS_EDWIN edwin;
} PR_PUNCTUED;
/* Property of ewlinksv */
typedef struct {
void *doc;
short int state;
unsigned short int pos;
unsigned short int parend;
unsigned short int posend;
char buf[256];
} PRS_EWLINKSV;
typedef struct pr_ewlinksv
{
PRS_ROOT root;
PRS_EWLINKSV ewlinksv;
} PR_EWLINKSV;
