mirror of
https://github.com/gryf/wmaker.git
synced 2026-01-06 05:44:11 +01:00
Gaaah!
This thing is completely broken! There are functions that take a completely different set of arguments than the ones currently used to call them. There are even functions that are not defined anywhere but called from wtext.c Please fix it before re-enabling it in Makefile.am
This commit is contained in:
@@ -13,7 +13,7 @@ include_HEADERS = WINGs.h WUtil.h WINGsP.h
|
|||||||
bin_SCRIPTS = get-wings-flags get-wutil-flags
|
bin_SCRIPTS = get-wings-flags get-wutil-flags
|
||||||
|
|
||||||
noinst_PROGRAMS = wtest wmquery wmfile fontl testmywidget testcolorpanel\
|
noinst_PROGRAMS = wtest wmquery wmfile fontl testmywidget testcolorpanel\
|
||||||
connect puzzle testtext
|
connect puzzle #testtext
|
||||||
|
|
||||||
lib_LIBRARIES = libWINGs.a libWUtil.a
|
lib_LIBRARIES = libWINGs.a libWUtil.a
|
||||||
|
|
||||||
@@ -65,13 +65,11 @@ libWINGs_a_SOURCES = \
|
|||||||
wpixmap.c \
|
wpixmap.c \
|
||||||
wpopupbutton.c \
|
wpopupbutton.c \
|
||||||
wprogressindicator.c \
|
wprogressindicator.c \
|
||||||
wruler.c \
|
|
||||||
wscroller.c \
|
wscroller.c \
|
||||||
wscrollview.c \
|
wscrollview.c \
|
||||||
wslider.c \
|
wslider.c \
|
||||||
wsplitview.c \
|
wsplitview.c \
|
||||||
wtabview.c \
|
wtabview.c \
|
||||||
wtext.c \
|
|
||||||
wtextfield.c \
|
wtextfield.c \
|
||||||
wwindow.c \
|
wwindow.c \
|
||||||
wview.c \
|
wview.c \
|
||||||
|
|||||||
@@ -14,7 +14,8 @@ wAbort()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Close(WMWidget *self, void *client)
|
void
|
||||||
|
Close(WMWidget *self, void *client)
|
||||||
{
|
{
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@@ -24,7 +25,7 @@ void Close(WMWidget *self, void *client)
|
|||||||
/* =============== a rudimentary HTML parser ======================= */
|
/* =============== a rudimentary HTML parser ======================= */
|
||||||
|
|
||||||
/* due to the WMSetTextParser stuff, it should not
|
/* due to the WMSetTextParser stuff, it should not
|
||||||
be too hard to add parsers. like dis :-] */
|
be too hard to add parsers. like dis :-] */
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -34,24 +35,24 @@ be too hard to add parsers. like dis :-] */
|
|||||||
*/
|
*/
|
||||||
unsigned char map_table[256] =
|
unsigned char map_table[256] =
|
||||||
{
|
{
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
|
||||||
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
|
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
|
||||||
33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
|
33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
|
||||||
49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
|
49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
|
||||||
97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
|
97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
|
||||||
111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 91, 92,
|
111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 91, 92,
|
||||||
93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
|
93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
|
||||||
108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
|
108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
|
||||||
122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
|
122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
|
||||||
136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
|
136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
|
||||||
150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
|
150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
|
||||||
164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
|
164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
|
||||||
178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
|
178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
|
||||||
192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
|
192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
|
||||||
206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
|
206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
|
||||||
220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
|
220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
|
||||||
234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
|
234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
|
||||||
248, 249, 250, 251, 252, 253, 254, 255};
|
248, 249, 250, 251, 252, 253, 254, 255};
|
||||||
|
|
||||||
#define TOLOWER(x) (map_table[(int)x])
|
#define TOLOWER(x) (map_table[(int)x])
|
||||||
static int
|
static int
|
||||||
@@ -111,7 +112,8 @@ getArg(char *t, short type, void *arg)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void parseToken(WMText *tPtr, char *token, short tk)
|
void
|
||||||
|
parseToken(WMText *tPtr, char *token, short tk)
|
||||||
{
|
{
|
||||||
short mode=0; /* 0 starts, 1 closes */
|
short mode=0; /* 0 starts, 1 closes */
|
||||||
WMScreen *scr = (W_VIEW(tPtr))->screen;
|
WMScreen *scr = (W_VIEW(tPtr))->screen;
|
||||||
@@ -215,7 +217,7 @@ void parseToken(WMText *tPtr, char *token, short tk)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else if(mystrcasecmp(token, "center")) {
|
else if(mystrcasecmp(token, "center")) {
|
||||||
printf("center\n");
|
printf("center\n");
|
||||||
if(mode) cfmt.align = WALeft;
|
if(mode) cfmt.align = WALeft;
|
||||||
else cfmt.align = WACenter;
|
else cfmt.align = WACenter;
|
||||||
cfmt.para = (cfmt.actions.createParagraph) (cfmt.fmargin, cfmt.bmargin,
|
cfmt.para = (cfmt.actions.createParagraph) (cfmt.fmargin, cfmt.bmargin,
|
||||||
@@ -231,7 +233,7 @@ printf("center\n");
|
|||||||
#if 0
|
#if 0
|
||||||
i=0;
|
i=0;
|
||||||
//while(*token && !isspace(*(token))) token++;
|
//while(*token && !isspace(*(token))) token++;
|
||||||
//printf("A:%d a:%d z%d Z%d\n", '1', 'a', 'Z', 'z');
|
//printf("A:%d a:%d z%d Z%d\n", '1', 'a', 'Z', 'z');
|
||||||
do {
|
do {
|
||||||
if(!mm) {
|
if(!mm) {
|
||||||
if(c>=65 && c<=122) { major[i++] = c;
|
if(c>=65 && c<=122) { major[i++] = c;
|
||||||
@@ -249,7 +251,8 @@ printf("center\n");
|
|||||||
//printf("parse token (%s)[%s]\n", mode?"close":"open", token);
|
//printf("parse token (%s)[%s]\n", mode?"close":"open", token);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HTMLParser(WMWidget *w, void *clientData, short type)
|
void
|
||||||
|
HTMLParser(WMWidget *w, void *clientData, short type)
|
||||||
{
|
{
|
||||||
static short init=1; /* have we been here at least once before? */
|
static short init=1; /* have we been here at least once before? */
|
||||||
char *stream = (char *) clientData;
|
char *stream = (char *) clientData;
|
||||||
@@ -257,9 +260,9 @@ void HTMLParser(WMWidget *w, void *clientData, short type)
|
|||||||
WMScreen *scr;
|
WMScreen *scr;
|
||||||
void *chunk;
|
void *chunk;
|
||||||
char c;
|
char c;
|
||||||
#define MAX_TOKEN_SIZE 255
|
#define MAX_TOKEN_SIZE 255
|
||||||
char token[MAX_TOKEN_SIZE+1];
|
char token[MAX_TOKEN_SIZE+1];
|
||||||
#define MAX_TEXT_SIZE 1023
|
#define MAX_TEXT_SIZE 1023
|
||||||
char text[MAX_TEXT_SIZE+1];
|
char text[MAX_TEXT_SIZE+1];
|
||||||
short mode=0;
|
short mode=0;
|
||||||
short tk=0, txt=0;
|
short tk=0, txt=0;
|
||||||
@@ -299,11 +302,11 @@ void HTMLParser(WMWidget *w, void *clientData, short type)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
while( (c=*(stream++))) {
|
while( (c=*(stream++))) {
|
||||||
//printf("%c", c);
|
//printf("%c", c);
|
||||||
if(c == '\n' || c =='\t')
|
if(c == '\n' || c =='\t')
|
||||||
//c = ' '; //continue;
|
//c = ' '; //continue;
|
||||||
continue;
|
continue;
|
||||||
@@ -320,7 +323,7 @@ void HTMLParser(WMWidget *w, void *clientData, short type)
|
|||||||
chunk = (cfmt.actions.createTChunk)(text, txt, cfmt.cfont,
|
chunk = (cfmt.actions.createTChunk)(text, txt, cfmt.cfont,
|
||||||
cfmt.ccolor, 0, (cfmt.u?1:0));
|
cfmt.ccolor, 0, (cfmt.u?1:0));
|
||||||
(cfmt.actions.insertChunk) (tPtr, chunk, cfmt.type);
|
(cfmt.actions.insertChunk) (tPtr, chunk, cfmt.type);
|
||||||
//printf("%s\n", text);
|
//printf("%s\n", text);
|
||||||
}
|
}
|
||||||
txt = 0;
|
txt = 0;
|
||||||
} else if(c == '>' && mode) {
|
} else if(c == '>' && mode) {
|
||||||
@@ -356,7 +359,8 @@ void HTMLParser(WMWidget *w, void *clientData, short type)
|
|||||||
WMWidget *win;
|
WMWidget *win;
|
||||||
WMText *text;
|
WMText *text;
|
||||||
|
|
||||||
void NotificationObserver(void *self, WMNotification *notif)
|
void
|
||||||
|
NotificationObserver(void *self, WMNotification *notif)
|
||||||
{
|
{
|
||||||
void *object = WMGetNotificationObject(notif);
|
void *object = WMGetNotificationObject(notif);
|
||||||
unsigned short w = WMWidgetWidth(win);
|
unsigned short w = WMWidgetWidth(win);
|
||||||
@@ -368,15 +372,15 @@ void NotificationObserver(void *self, WMNotification *notif)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{static int i=0;
|
{static int i=0;
|
||||||
switch(i++) {
|
switch(i++) {
|
||||||
case 0: WMSetTextHasHorizontalScroller(text, False); break;
|
case 0: WMSetTextHasHorizontalScroller(text, False); break;
|
||||||
case 1: WMSetTextHasVerticalScroller(text, False); break;
|
case 1: WMSetTextHasVerticalScroller(text, False); break;
|
||||||
case 2: WMSetTextHasVerticalScroller(text, True); break;
|
case 2: WMSetTextHasVerticalScroller(text, True); break;
|
||||||
case 3: WMSetTextHasHorizontalScroller(text, True); break;
|
case 3: WMSetTextHasHorizontalScroller(text, True); break;
|
||||||
default: i=0;
|
default: i=0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@@ -421,17 +425,17 @@ main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//WMPrependTextStream(text, "this is prepended\n");
|
//WMPrependTextStream(text, "this is prepended\n");
|
||||||
//WMAppendTextStream(text, "blueplanet.rtf");
|
//WMAppendTextStream(text, "blueplanet.rtf");
|
||||||
|
|
||||||
|
|
||||||
WMThawText(text);
|
WMThawText(text);
|
||||||
WMRefreshText(text, 0, 0);
|
WMRefreshText(text, 0, 0);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
WMAddNotificationObserver(NotificationObserver, win,
|
WMAddNotificationObserver(NotificationObserver, win,
|
||||||
WMViewSizeDidChangeNotification, WMWidgetView(win));
|
WMViewSizeDidChangeNotification, WMWidgetView(win));
|
||||||
*/
|
*/
|
||||||
WMSetViewNotifySizeChanges(WMWidgetView(win), True);
|
WMSetViewNotifySizeChanges(WMWidgetView(win), True);
|
||||||
WMMapSubwidgets(win);
|
WMMapSubwidgets(win);
|
||||||
WMMapWidget(win);
|
WMMapWidget(win);
|
||||||
|
|||||||
105
WINGs/wruler.c
105
WINGs/wruler.c
@@ -40,7 +40,9 @@ typedef struct W_Ruler {
|
|||||||
| \
|
| \
|
||||||
|__\
|
|__\
|
||||||
|
|
|
|
||||||
| */
|
|
|
||||||
|
|
||||||
|
*/
|
||||||
static void
|
static void
|
||||||
drawLeftMarker(Ruler *rPtr)
|
drawLeftMarker(Ruler *rPtr)
|
||||||
{
|
{
|
||||||
@@ -62,14 +64,16 @@ drawLeftMarker(Ruler *rPtr)
|
|||||||
rPtr->fg, points, 4, Convex, CoordModeOrigin);
|
rPtr->fg, points, 4, Convex, CoordModeOrigin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Marker for right margin
|
/* Marker for right margin
|
||||||
|
|
||||||
/|
|
/|
|
||||||
/ |
|
/ |
|
||||||
/__|
|
/__|
|
||||||
|
|
|
|
||||||
| */
|
|
|
||||||
|
|
||||||
|
*/
|
||||||
static void
|
static void
|
||||||
drawRightMarker(Ruler *rPtr)
|
drawRightMarker(Ruler *rPtr)
|
||||||
{
|
{
|
||||||
@@ -95,7 +99,9 @@ drawRightMarker(Ruler *rPtr)
|
|||||||
/* Marker for first line only
|
/* Marker for first line only
|
||||||
_____
|
_____
|
||||||
|___|
|
|___|
|
||||||
| */
|
|
|
||||||
|
|
||||||
|
*/
|
||||||
static void
|
static void
|
||||||
drawFirstMarker(Ruler *rPtr)
|
drawFirstMarker(Ruler *rPtr)
|
||||||
{
|
{
|
||||||
@@ -110,7 +116,8 @@ drawFirstMarker(Ruler *rPtr)
|
|||||||
/* Marker for rest of body
|
/* Marker for rest of body
|
||||||
_____
|
_____
|
||||||
\ /
|
\ /
|
||||||
\./ */
|
\./
|
||||||
|
*/
|
||||||
static void
|
static void
|
||||||
drawBodyMarker(Ruler *rPtr)
|
drawBodyMarker(Ruler *rPtr)
|
||||||
{
|
{
|
||||||
@@ -127,6 +134,7 @@ drawBodyMarker(Ruler *rPtr)
|
|||||||
rPtr->fg, points, 3, Convex, CoordModeOrigin);
|
rPtr->fg, points, 3, Convex, CoordModeOrigin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
createDrawBuffer(Ruler *rPtr)
|
createDrawBuffer(Ruler *rPtr)
|
||||||
{
|
{
|
||||||
@@ -139,6 +147,7 @@ createDrawBuffer(Ruler *rPtr)
|
|||||||
rPtr->bg, 0, 0, rPtr->view->size.width, 40);
|
rPtr->bg, 0, 0, rPtr->view->size.width, 40);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
drawRulerOnPixmap(Ruler *rPtr)
|
drawRulerOnPixmap(Ruler *rPtr)
|
||||||
{
|
{
|
||||||
@@ -146,20 +155,19 @@ drawRulerOnPixmap(Ruler *rPtr)
|
|||||||
char c[3];
|
char c[3];
|
||||||
int marks[9] = {11, 3, 5, 3, 7, 3, 5, 3};
|
int marks[9] = {11, 3, 5, 3, 7, 3, 5, 3};
|
||||||
|
|
||||||
if(!rPtr->drawBuffer)
|
if(!rPtr->drawBuffer)
|
||||||
createDrawBuffer(rPtr);
|
createDrawBuffer(rPtr);
|
||||||
|
|
||||||
XFillRectangle(rPtr->view->screen->display, rPtr->drawBuffer,
|
XFillRectangle(rPtr->view->screen->display, rPtr->drawBuffer,
|
||||||
rPtr->bg, 0, 0, rPtr->view->size.width, 40);
|
rPtr->bg, 0, 0, rPtr->view->size.width, 40);
|
||||||
|
|
||||||
|
WMDrawString(rPtr->view->screen, rPtr->drawBuffer, rPtr->fg,
|
||||||
|
rPtr->font, rPtr->margins.left+2, 26, "0 inches", 10);
|
||||||
|
|
||||||
WMDrawString(rPtr->view->screen, rPtr->drawBuffer,
|
/* marker ticks */
|
||||||
rPtr->fg, rPtr->font, rPtr->margins.left+2, 26, "0 inches", 10);
|
i=j=m=0;
|
||||||
|
w = rPtr->view->size.width - rPtr->margins.left;
|
||||||
/* marker ticks */
|
while(m < w) {
|
||||||
i=j=m=0;
|
|
||||||
w = rPtr->view->size.width - rPtr->margins.left;
|
|
||||||
while(m < w) {
|
|
||||||
XDrawLine(rPtr->view->screen->display, rPtr->drawBuffer,
|
XDrawLine(rPtr->view->screen->display, rPtr->drawBuffer,
|
||||||
rPtr->fg, rPtr->margins.left+m, 23,
|
rPtr->fg, rPtr->margins.left+m, 23,
|
||||||
rPtr->margins.left+m, marks[i%8]+23);
|
rPtr->margins.left+m, marks[i%8]+23);
|
||||||
@@ -168,30 +176,31 @@ while(m < w) {
|
|||||||
snprintf(c,3,"%d",++j);
|
snprintf(c,3,"%d",++j);
|
||||||
else
|
else
|
||||||
snprintf(c,3,"%2d",++j);
|
snprintf(c,3,"%2d",++j);
|
||||||
WMDrawString(rPtr->view->screen, rPtr->drawBuffer,
|
WMDrawString(rPtr->view->screen, rPtr->drawBuffer, rPtr->fg,
|
||||||
rPtr->fg, rPtr->font, rPtr->margins.left+2+m, 26, c, 2);
|
rPtr->font, rPtr->margins.left+2+m, 26, c, 2);
|
||||||
}
|
}
|
||||||
m = (++i)*10;
|
m = (++i)*10;
|
||||||
}
|
}
|
||||||
|
|
||||||
rPtr->end = rPtr->margins.left+m-10;
|
rPtr->end = rPtr->margins.left+m-10;
|
||||||
if(rPtr->margins.right > rPtr->end)
|
if(rPtr->margins.right > rPtr->end)
|
||||||
rPtr->margins.right = rPtr->end;
|
rPtr->margins.right = rPtr->end;
|
||||||
/* base line */
|
/* base line */
|
||||||
XDrawLine(rPtr->view->screen->display, rPtr->drawBuffer,
|
XDrawLine(rPtr->view->screen->display, rPtr->drawBuffer, rPtr->fg,
|
||||||
rPtr->fg, rPtr->margins.left, 22, rPtr->margins.left+m-10, 22);
|
rPtr->margins.left, 22, rPtr->margins.left+m-10, 22);
|
||||||
|
|
||||||
drawLeftMarker(rPtr);
|
drawLeftMarker(rPtr);
|
||||||
drawRightMarker(rPtr);
|
drawRightMarker(rPtr);
|
||||||
drawFirstMarker(rPtr);
|
drawFirstMarker(rPtr);
|
||||||
drawBodyMarker(rPtr);
|
drawBodyMarker(rPtr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
paintRuler(Ruler *rPtr)
|
paintRuler(Ruler *rPtr)
|
||||||
{
|
{
|
||||||
WMScreen *screen = rPtr->view->screen;
|
WMScreen *screen = rPtr->view->screen;
|
||||||
if(1||!rPtr->drawBuffer) { //first exposure
|
if(1||!rPtr->drawBuffer) {
|
||||||
drawRulerOnPixmap(rPtr);
|
drawRulerOnPixmap(rPtr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -200,6 +209,7 @@ paintRuler(Ruler *rPtr)
|
|||||||
0, 0);
|
0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
verifyMarkerMove(Ruler *rPtr, int x)
|
verifyMarkerMove(Ruler *rPtr, int x)
|
||||||
{
|
{
|
||||||
@@ -208,40 +218,37 @@ verifyMarkerMove(Ruler *rPtr, int x)
|
|||||||
|
|
||||||
switch(rPtr->flags.whichMarker) {
|
switch(rPtr->flags.whichMarker) {
|
||||||
case 1:
|
case 1:
|
||||||
if( x > rPtr->margins.right - 10
|
if(x > rPtr->margins.right - 10 || x < rPtr->offset ||
|
||||||
|| rPtr->margins.body + x > rPtr->margins.right-MIN_DOC_WIDTH
|
rPtr->margins.body + x > rPtr->margins.right-MIN_DOC_WIDTH ||
|
||||||
|| rPtr->margins.first + x > rPtr->margins.right-MIN_DOC_WIDTH
|
rPtr->margins.first + x > rPtr->margins.right-MIN_DOC_WIDTH)
|
||||||
|| x < rPtr->offset)
|
|
||||||
return False;
|
return False;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
if( x < rPtr->margins.first+MIN_DOC_WIDTH
|
if(x < rPtr->margins.first+MIN_DOC_WIDTH ||
|
||||||
|| x < rPtr->margins.body+MIN_DOC_WIDTH
|
x < rPtr->margins.body+MIN_DOC_WIDTH ||
|
||||||
|| x < rPtr->margins.left+MIN_DOC_WIDTH
|
x < rPtr->margins.left+MIN_DOC_WIDTH ||
|
||||||
|| x > rPtr->end) //rPtr->view->size.width)
|
x > rPtr->end) /*rPtr->view->size.width)*/
|
||||||
return False;
|
return False;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
if( x >= rPtr->margins.right-MIN_DOC_WIDTH
|
if(x >= rPtr->margins.right-MIN_DOC_WIDTH || x < rPtr->margins.left)
|
||||||
|| x < rPtr->margins.left)
|
|
||||||
return False;
|
return False;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
if( x >= rPtr->margins.right-MIN_DOC_WIDTH
|
if(x >= rPtr->margins.right-MIN_DOC_WIDTH || x < rPtr->margins.left)
|
||||||
|| x < rPtr->margins.left)
|
|
||||||
return False;
|
return False;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6:
|
case 6:
|
||||||
if( x >= rPtr->margins.right-MIN_DOC_WIDTH
|
if(x >= rPtr->margins.right-MIN_DOC_WIDTH || x < rPtr->margins.left)
|
||||||
|| x < rPtr->margins.left)
|
|
||||||
return False;
|
return False;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: return False;
|
default:
|
||||||
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
rPtr->motion = x;
|
rPtr->motion = x;
|
||||||
@@ -439,15 +446,17 @@ WMSetRulerMargins(WMRuler *rPtr, WMRulerMargins margins)
|
|||||||
rPtr->margins.right = margins.right + rPtr->offset;
|
rPtr->margins.right = margins.right + rPtr->offset;
|
||||||
rPtr->margins.first = margins.first + rPtr->offset;
|
rPtr->margins.first = margins.first + rPtr->offset;
|
||||||
rPtr->margins.body = margins.body + rPtr->offset;
|
rPtr->margins.body = margins.body + rPtr->offset;
|
||||||
rPtr->margins.tabs = margins.tabs; //for loop
|
rPtr->margins.tabs = margins.tabs; /*for loop*/
|
||||||
paintRuler(rPtr);
|
paintRuler(rPtr);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
WMRulerMargins
|
WMRulerMargins
|
||||||
WMGetRulerMargins(WMRuler *rPtr)
|
WMGetRulerMargins(WMRuler *rPtr)
|
||||||
{
|
{
|
||||||
WMRulerMargins margins;
|
WMRulerMargins margins;
|
||||||
|
|
||||||
if(!rPtr)
|
if(!rPtr)
|
||||||
return margins;
|
return margins;
|
||||||
|
|
||||||
@@ -455,21 +464,23 @@ WMGetRulerMargins(WMRuler *rPtr)
|
|||||||
margins.right = rPtr->margins.right - rPtr->offset;
|
margins.right = rPtr->margins.right - rPtr->offset;
|
||||||
margins.first = rPtr->margins.first - rPtr->offset;
|
margins.first = rPtr->margins.first - rPtr->offset;
|
||||||
margins.body = rPtr->margins.body - rPtr->offset;
|
margins.body = rPtr->margins.body - rPtr->offset;
|
||||||
//for
|
/*for*/
|
||||||
margins.tabs = rPtr->margins.tabs;
|
margins.tabs = rPtr->margins.tabs;
|
||||||
|
|
||||||
return rPtr->margins;
|
return rPtr->margins;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
WMSetRulerOffset(WMRuler *rPtr, int pixels)
|
WMSetRulerOffset(WMRuler *rPtr, int pixels)
|
||||||
{
|
{
|
||||||
if(!rPtr || pixels<0 || pixels+MIN_DOC_WIDTH>=rPtr->view->size.width)
|
if(!rPtr || pixels<0 || pixels+MIN_DOC_WIDTH>=rPtr->view->size.width)
|
||||||
return;
|
return;
|
||||||
rPtr->offset = pixels;
|
rPtr->offset = pixels;
|
||||||
//rulerDidResize(rPtr, rPtr->view);
|
/*rulerDidResize(rPtr, rPtr->view);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
WMGetRulerOffset(WMRuler *rPtr)
|
WMGetRulerOffset(WMRuler *rPtr)
|
||||||
{
|
{
|
||||||
@@ -478,6 +489,7 @@ WMGetRulerOffset(WMRuler *rPtr)
|
|||||||
return rPtr->offset;
|
return rPtr->offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
WMSetRulerReleaseAction(WMRuler *rPtr, WMAction *action, void *clientData)
|
WMSetRulerReleaseAction(WMRuler *rPtr, WMAction *action, void *clientData)
|
||||||
{
|
{
|
||||||
@@ -488,6 +500,7 @@ WMSetRulerReleaseAction(WMRuler *rPtr, WMAction *action, void *clientData)
|
|||||||
rPtr->clientData = clientData;
|
rPtr->clientData = clientData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
WMSetRulerMoveAction(WMRuler *rPtr, WMAction *action, void *clientData)
|
WMSetRulerMoveAction(WMRuler *rPtr, WMAction *action, void *clientData)
|
||||||
{
|
{
|
||||||
@@ -498,6 +511,7 @@ WMSetRulerMoveAction(WMRuler *rPtr, WMAction *action, void *clientData)
|
|||||||
rPtr->clientData = clientData;
|
rPtr->clientData = clientData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* _which_ one was released */
|
/* _which_ one was released */
|
||||||
int
|
int
|
||||||
WMGetReleasedRulerMargin(WMRuler *rPtr)
|
WMGetReleasedRulerMargin(WMRuler *rPtr)
|
||||||
@@ -507,6 +521,7 @@ WMGetReleasedRulerMargin(WMRuler *rPtr)
|
|||||||
return rPtr->flags.whichMarker;
|
return rPtr->flags.whichMarker;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* _which_ one is being grabbed */
|
/* _which_ one is being grabbed */
|
||||||
int
|
int
|
||||||
WMGetGrabbedRulerMargin(WMRuler *rPtr)
|
WMGetGrabbedRulerMargin(WMRuler *rPtr)
|
||||||
@@ -515,3 +530,5 @@ WMGetGrabbedRulerMargin(WMRuler *rPtr)
|
|||||||
return 0;
|
return 0;
|
||||||
return rPtr->flags.whichMarker;
|
return rPtr->flags.whichMarker;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -280,7 +280,7 @@ chunkSelectionRect(Text *tPtr, Paragraph *para, MyTextItems item,
|
|||||||
|
|
||||||
|
|
||||||
if(type == 1 && item.chunk->type == ctText) { /* partial coverage */
|
if(type == 1 && item.chunk->type == ctText) { /* partial coverage */
|
||||||
lm = 2+WMGetRulerMargin(tPtr->ruler, WRulerDocLeft);
|
lm = 2+WMGetRulerMargins(tPtr->ruler, WRulerDocLeft);
|
||||||
/* even I am still confused, so don't ask please */
|
/* even I am still confused, so don't ask please */
|
||||||
if( (item.x+j+lm >= tPtr->sRect.pos.x &&
|
if( (item.x+j+lm >= tPtr->sRect.pos.x &&
|
||||||
item.x+j+lm <= tPtr->sRect.pos.x+tPtr->sRect.size.width)
|
item.x+j+lm <= tPtr->sRect.pos.x+tPtr->sRect.size.width)
|
||||||
@@ -571,8 +571,8 @@ putParagraphOnPixmap(Text *tPtr, Paragraph *para, Bool draw)
|
|||||||
if(!tPtr->view->flags.realized || !para) return 0;
|
if(!tPtr->view->flags.realized || !para) return 0;
|
||||||
|
|
||||||
where.x = 0, where.y =0, nitems = 0;
|
where.x = 0, where.y =0, nitems = 0;
|
||||||
m.left = WMGetRulerMargin(tPtr->ruler, WRulerDocLeft);
|
m.left = WMGetRulerMargins(tPtr->ruler, WRulerDocLeft);
|
||||||
m.right = WMGetRulerMargin(tPtr->ruler, WRulerRight) - m.left;
|
m.right = WMGetRulerMargins(tPtr->ruler, WRulerRight) - m.left;
|
||||||
m.first = para->fmargin, m.body = para->bmargin;
|
m.first = para->fmargin, m.body = para->bmargin;
|
||||||
|
|
||||||
if(draw) {
|
if(draw) {
|
||||||
@@ -669,9 +669,9 @@ calcParaExtents(Text *tPtr, Paragraph *para)
|
|||||||
para->bmargin = 0;
|
para->bmargin = 0;
|
||||||
para->rmargin = tPtr->visibleW;
|
para->rmargin = tPtr->visibleW;
|
||||||
} else {
|
} else {
|
||||||
para->width = WMGetRulerMargin(tPtr->ruler, WRulerRight) -
|
para->width = WMGetRulerMargins(tPtr->ruler, WRulerRight) -
|
||||||
WMIN(para->fmargin, para->bmargin)
|
WMIN(para->fmargin, para->bmargin) -
|
||||||
- WMGetRulerOffset(tPtr->ruler);
|
WMGetRulerOffset(tPtr->ruler);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!para->chunks)
|
if(!para->chunks)
|
||||||
@@ -728,8 +728,8 @@ calcDocExtents(Text *tPtr)
|
|||||||
if(tPtr->monoFont) {
|
if(tPtr->monoFont) {
|
||||||
tPtr->docWidth = tPtr->visibleW;
|
tPtr->docWidth = tPtr->visibleW;
|
||||||
} else {
|
} else {
|
||||||
tPtr->docWidth = WMGetRulerMargin(tPtr->ruler, WRulerRight) -
|
tPtr->docWidth = WMGetRulerMargins(tPtr->ruler, WRulerRight) -
|
||||||
WMGetRulerMargin(tPtr->ruler, WRulerDocLeft);
|
WMGetRulerMargins(tPtr->ruler, WRulerDocLeft);
|
||||||
}
|
}
|
||||||
tPtr->docHeight = 0;
|
tPtr->docHeight = 0;
|
||||||
para = tPtr->paragraphs;
|
para = tPtr->paragraphs;
|
||||||
@@ -2382,7 +2382,7 @@ WMSetTextRulerMargin(WMText *tPtr, char which, short pixels)
|
|||||||
{
|
{
|
||||||
if(!tPtr) return;
|
if(!tPtr) return;
|
||||||
if(tPtr->monoFont) return;
|
if(tPtr->monoFont) return;
|
||||||
WMSetRulerMargin(tPtr->ruler, which, pixels);
|
WMSetRulerMargins(tPtr->ruler, which, pixels);
|
||||||
WMRefreshText(tPtr, tPtr->vpos, tPtr->hpos);
|
WMRefreshText(tPtr, tPtr->vpos, tPtr->hpos);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2392,7 +2392,7 @@ WMGetTextRulerMargin(WMText *tPtr, char which)
|
|||||||
if(!tPtr) return 0;
|
if(!tPtr) return 0;
|
||||||
if(tPtr->monoFont)
|
if(tPtr->monoFont)
|
||||||
return 0;
|
return 0;
|
||||||
return WMGetRulerMargin(tPtr->ruler, which);
|
return WMGetRulerMargins(tPtr->ruler, which);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user