Version 0.8.3

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@15043 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
fedor 2002-11-22 03:19:12 +00:00
parent b08806a88c
commit cb81caa7fa
5 changed files with 65 additions and 5 deletions

View file

@ -28,6 +28,7 @@
#include "gsc/GSStreamContext.h"
#include "gsc/GSStreamGState.h"
#include <AppKit/GSFontInfo.h>
#include <AppKit/NSBezierPath.h>
#include <Foundation/NSArray.h>
#include <Foundation/NSData.h>
#include <Foundation/NSDebug.h>
@ -485,6 +486,50 @@
fprintf(gstream, "stroke\n");
}
- (void) GSSendBezierPath: (NSBezierPath *)path
{
NSBezierPathElement type;
NSPoint pts[3];
int i, count;
float pattern[10];
float phase;
[self DPSnewpath];
[self DPSsetlinewidth: [path lineWidth]];
[self DPSsetlinejoin: [path lineJoinStyle]];
[self DPSsetlinecap: [path lineCapStyle]];
[self DPSsetmiterlimit: [path miterLimit]];
[self DPSsetflat: [path flatness]];
[path getLineDash: pattern count: &count phase: &phase];
// Always sent the dash pattern. When NULL this will reset to a solid line.
[self DPSsetdash: pattern : count : phase];
count = [path elementCount];
for(i = 0; i < count; i++)
{
type = [path elementAtIndex: i associatedPoints: pts];
switch(type)
{
case NSMoveToBezierPathElement:
[self DPSmoveto: pts[0].x : pts[0].y];
break;
case NSLineToBezierPathElement:
[self DPSlineto: pts[0].x : pts[0].y];
break;
case NSCurveToBezierPathElement:
[self DPScurveto: pts[0].x : pts[0].y
: pts[1].x : pts[1].y : pts[2].x : pts[2].y];
break;
case NSClosePathBezierPathElement:
[self DPSclosepath];
break;
default:
break;
}
}
}
- (void) GSRectClipList: (const NSRect *)rects: (int)count
{
[self notImplemented: _cmd];