diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 000000000..2729ada4d --- /dev/null +++ b/.cvsignore @@ -0,0 +1,2 @@ +unshared +exports diff --git a/README b/README new file mode 100644 index 000000000..874fdc6be --- /dev/null +++ b/README @@ -0,0 +1,42 @@ +Xr - Rendering for X + +Description +----------- +Xr provides anti-aliased vector-based rendering for X. Paths consist +of line segments and cubic splines and can be rendered at any width +with various join and cap styles. All colors may be specified with +optional translucence (opacity/alpha) throught the extended +Porter/Duff compositing algebra as found in the X Render Extension. + +Dependencies +------------ +Xr requires the Xc library. The Xc library supports basic compositing +and should work with or without the X Render extension. + +Usage +----- +Xr exports a stateful rendering API similar in spirit to the path +construction, text, and painting operators of PostScript, (with the +significant addition of translucence in the imaging model). The API +was carefully designed to be easily understood with as little +additional explanation as possible. All functions take a minimal +number of arguments so that the number and order of arguments should +be easy to remember without the need to continually consult reference +documentation while developing with Xr. + +Documentation +------------- +As mentioned above, we hope that users of Xr will be productive +without having to consult the documentation often. Ideally, a simple +glance at the Xr.h header file will provide enough information for the +programmer. + +We'll see if we've been successful in our goal, since for the moment +the Xr.h header file is the only documentation that currently exists. + +History +------- +Xr was developed by Carl Worth and Keith Packard +. Many thanks are due to Lyle Ramshaw without whose +patient help our ignorance would be much more apparent. + diff --git a/TODO b/TODO new file mode 100644 index 000000000..2ed23c258 --- /dev/null +++ b/TODO @@ -0,0 +1,48 @@ +* Add text support. For reference, here are the text-related PS + operators: + +Probably needed +--------------- +charpath +findfont +setfont +show +scalefont +transformfont (not in postscript) + +Perhaps needed? +--------------- +ashow show with x/y displacement added to each character +widthshow show with x/y displacement added to specified character +xyshow show with array of x/y displacements substituted +glyphshow show with name-based rather than encoded lookup of glyph +cshow show with a callback for drawing each glyph +kshow show with a callback between drawing each glyph +awidthshow same as ashow plus widthshow +xshow same as xyshow with y==0 +yshow same as xyshow with x==0 + +rootfont +currentfont +stringwidth + +Probably not needed +------------------- +definefont +composefont +undefinefont +makefont +selectfont +FontDirectory +GlobalFontDirectory +StandardEncoding +ISOLatin1Encoding +findencoding +setcachedevice +setcachedevice2 +setcharwidth + + + + +