mirror of
https://github.com/gnustep/libs-back.git
synced 2025-05-31 01:11:00 +00:00
Cleanup in xlib backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@22990 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
eba56b14dc
commit
c6bf40df52
7 changed files with 83 additions and 20 deletions
|
@ -169,7 +169,7 @@ static NSArray *faFromFc(FcPattern *pat)
|
|||
NSMutableArray *fcxft_allFontNames = [[NSMutableArray alloc] init];
|
||||
|
||||
FcPattern *pat = FcPatternCreate();
|
||||
FcObjectSet *os = FcObjectSetBuild(FC_FAMILY, FC_SLANT, FC_WEIGHT, 0);
|
||||
FcObjectSet *os = FcObjectSetBuild(FC_FAMILY, FC_SLANT, FC_WEIGHT, NULL);
|
||||
FcFontSet *fs = FcFontList(0, pat, os);
|
||||
|
||||
FcPatternDestroy(pat);
|
||||
|
@ -213,6 +213,33 @@ static NSArray *faFromFc(FcPattern *pat)
|
|||
allFonts = fcxft_allFonts;
|
||||
}
|
||||
|
||||
-(NSString *) defaultSystemFontName
|
||||
{
|
||||
if ([allFontNames containsObject: @"Bitstream Vera Sans"])
|
||||
return @"Bitstream Vera Sans";
|
||||
if ([allFontNames containsObject: @"FreeSans"])
|
||||
return @"FreeSans";
|
||||
return @"Helvetica";
|
||||
}
|
||||
|
||||
-(NSString *) defaultBoldSystemFontName
|
||||
{
|
||||
if ([allFontNames containsObject: @"Bitstream Vera Sans-Bold"])
|
||||
return @"Bitstream Vera Sans-Bold";
|
||||
if ([allFontNames containsObject: @"FreeSans-Bold"])
|
||||
return @"FreeSans-Bold";
|
||||
return @"Helvetica-Bold";
|
||||
}
|
||||
|
||||
-(NSString *) defaultFixedPitchFontName
|
||||
{
|
||||
if ([allFontNames containsObject: @"Bitstream Vera Sans Mono"])
|
||||
return @"Bitstream Vera Sans Mono";
|
||||
if ([allFontNames containsObject: @"FreeMono"])
|
||||
return @"FreeMono";
|
||||
return @"Courier";
|
||||
}
|
||||
|
||||
@end
|
||||
#endif
|
||||
|
||||
|
@ -274,7 +301,7 @@ static NSArray *faFromFc(FcPattern *pat)
|
|||
- (float) widthOfGlyphs: (const NSGlyph *) glyphs length: (int) len
|
||||
{
|
||||
XGlyphInfo extents;
|
||||
unichar buf[len];
|
||||
XftChar16 buf[len];
|
||||
int i;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
|
@ -374,7 +401,7 @@ static NSArray *faFromFc(FcPattern *pat)
|
|||
allowLossyConversion: YES];
|
||||
int length = [d length];
|
||||
const char *cstr = (const char*)[d bytes];
|
||||
XGGState *state = [(XGContext *)GSCurrentContext() currentGState];
|
||||
XGGState *state = (XGGState *)[(XGContext *)GSCurrentContext() currentGState];
|
||||
XftDraw *xftdraw = [state xftDrawForDrawable: draw];
|
||||
XftColor xftcolor = [state xftColor];
|
||||
|
||||
|
@ -387,12 +414,12 @@ static NSArray *faFromFc(FcPattern *pat)
|
|||
onDisplay: (Display*) xdpy drawable: (Drawable) draw
|
||||
with: (GC) xgcntxt at: (XPoint) xp
|
||||
{
|
||||
XGGState *state = [(XGContext *)GSCurrentContext() currentGState];
|
||||
XGGState *state = (XGGState *)[(XGContext *)GSCurrentContext() currentGState];
|
||||
XftDraw *xftdraw = [state xftDrawForDrawable: draw];
|
||||
XftColor xftcolor = [state xftColor];
|
||||
unichar buf[len];
|
||||
XftChar16 buf[len];
|
||||
int i;
|
||||
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
buf[i] = glyphs[i];
|
||||
|
@ -403,12 +430,12 @@ static NSArray *faFromFc(FcPattern *pat)
|
|||
xp.x, xp.y, (XftChar16*)buf, len);
|
||||
}
|
||||
|
||||
- (void) draw: (const char*) s length: (int) len
|
||||
- (void) draw: (const char*) s lenght: (int) len
|
||||
onDisplay: (Display*) xdpy drawable: (Drawable) draw
|
||||
with: (GC) xgcntxt at: (XPoint) xp
|
||||
{
|
||||
int length = strlen(s);
|
||||
XGGState *state = [(XGContext *)GSCurrentContext() currentGState];
|
||||
XGGState *state = (XGGState *)[(XGContext *)GSCurrentContext() currentGState];
|
||||
XftDraw *xftdraw = [state xftDrawForDrawable: draw];
|
||||
XftColor xftcolor = [state xftColor];
|
||||
|
||||
|
@ -427,7 +454,7 @@ static NSArray *faFromFc(FcPattern *pat)
|
|||
}
|
||||
}
|
||||
|
||||
- (float) widthOf: (const char*) s length: (int) len
|
||||
- (float) widthOf: (const char*) s lenght: (int) len
|
||||
{
|
||||
XGlyphInfo extents;
|
||||
|
||||
|
@ -449,6 +476,7 @@ static NSArray *faFromFc(FcPattern *pat)
|
|||
return extents.width;
|
||||
}
|
||||
|
||||
|
||||
- (void) setActiveFor: (Display*) xdpy gc: (GC) xgcntxt
|
||||
{
|
||||
}
|
||||
|
|
|
@ -215,12 +215,14 @@ static BOOL XGInitAtoms(Display *dpy)
|
|||
with: (GC) xgcntxt at: (XPoint) xp
|
||||
{
|
||||
// This font must already be active!
|
||||
unsigned char buf[len];
|
||||
char buf[len];
|
||||
int i;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
buf[i] = glyphs[i];
|
||||
}
|
||||
|
||||
XDrawString(xdpy, draw, xgcntxt, xp.x, xp.y, buf, len);
|
||||
}
|
||||
|
||||
|
@ -242,12 +244,14 @@ static BOOL XGInitAtoms(Display *dpy)
|
|||
|
||||
- (float) widthOfGlyphs: (const NSGlyph *) glyphs length: (int) len
|
||||
{
|
||||
unsigned char buf[len];
|
||||
char buf[len];
|
||||
int i;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
buf[i] = glyphs[i];
|
||||
}
|
||||
|
||||
return XTextWidth(font_info, buf, len);
|
||||
}
|
||||
|
||||
|
|
|
@ -153,6 +153,7 @@ static BOOL char_struct_for_glyph(NSGlyph glyph, XFontSet font_set,
|
|||
XFreeFontSet(XSERVER, _font_set);
|
||||
_font_set = NULL;
|
||||
}
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (NSSize) advancementForGlyph: (NSGlyph)glyph
|
||||
|
@ -198,8 +199,8 @@ static BOOL char_struct_for_glyph(NSGlyph glyph, XFontSet font_set,
|
|||
}
|
||||
|
||||
- (void) drawGlyphs: (const NSGlyph *)glyphs
|
||||
length: (int)len
|
||||
onDisplay: (Display *)dpy
|
||||
lenght: (int)len
|
||||
onDisplay: (Display *)dpy
|
||||
drawable: (Drawable)win
|
||||
with: (GC)gc
|
||||
at: (XPoint)xp
|
||||
|
@ -215,7 +216,7 @@ static BOOL char_struct_for_glyph(NSGlyph glyph, XFontSet font_set,
|
|||
}
|
||||
|
||||
- (float) widthOfGlyphs: (const NSGlyph *)glyphs
|
||||
length: (int)len
|
||||
lenght: (int)len
|
||||
{
|
||||
UTF8Str ustr;
|
||||
float val;
|
||||
|
|
|
@ -717,6 +717,8 @@ static Region emptyRegion;
|
|||
do_copy = NO;
|
||||
comp_gcv.function = GXcopy;
|
||||
break;
|
||||
default:
|
||||
comp_gcv.function = GXcopy;
|
||||
}
|
||||
|
||||
if (comp_gcv.function != GXcopy)
|
||||
|
@ -957,7 +959,11 @@ static Region emptyRegion;
|
|||
int x[count], w[count], y0, y1;
|
||||
int yh = y * 2 + 1; // shift y of horizontal line
|
||||
XPoint lastP, p1;
|
||||
|
||||
|
||||
// To keep compiler happy
|
||||
lastP.x = 0;
|
||||
lastP.y = 0;
|
||||
|
||||
/* intersect horizontal line with path */
|
||||
for (i = 0, cnt = 0; i < count - 1; i++)
|
||||
{
|
||||
|
@ -1065,6 +1071,12 @@ static Region emptyRegion;
|
|||
BOOL doit;
|
||||
BOOL complex = NO;
|
||||
|
||||
// To keep compiler happy
|
||||
last_p.x = 0;
|
||||
last_p.y = 0;
|
||||
p.x = 0;
|
||||
p.y = 0;
|
||||
|
||||
for (j = 0; j < count; j++)
|
||||
{
|
||||
doit = NO;
|
||||
|
|
|
@ -48,16 +48,18 @@ accessibleRectForWindow (gswindow_device_t* win)
|
|||
Display* xdpy = [XGServer currentXDisplay];
|
||||
Window root;
|
||||
Window ignoreWindow;
|
||||
int x, y, w, h;
|
||||
int x, y;
|
||||
unsigned int w, h;
|
||||
int ignoreInt;
|
||||
unsigned int ignoreUInt;
|
||||
XRectangle winRect;
|
||||
|
||||
if (!XGetGeometry (xdpy, GET_XDRAWABLE (win),
|
||||
&root,
|
||||
&x, &y,
|
||||
&w, &h,
|
||||
&ignoreInt,
|
||||
&ignoreInt))
|
||||
&ignoreUInt,
|
||||
&ignoreUInt))
|
||||
{
|
||||
NSDebugLLog (@"XGGeometry", @"invalide Drawable in gswindow_device");
|
||||
return XGMakeRect (0, 0, 0, 0);
|
||||
|
@ -75,7 +77,7 @@ accessibleRectForWindow (gswindow_device_t* win)
|
|||
&root,
|
||||
&ignoreInt, &ignoreInt,
|
||||
&w, &h,
|
||||
&ignoreInt, &ignoreInt))
|
||||
&ignoreUInt, &ignoreUInt))
|
||||
{
|
||||
NSDebugLLog (@"XGGeometry", @"could not determine size of root");
|
||||
return XGMakeRect (0, 0, 0, 0);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue