Home| base |src.lib|graphic|ps| PostScriptMatrixString Index

PostScriptMatrixString

Syntax
struct PostScriptMatrix *PostScriptMatrixString(char *str);
Header
base/rps.h
Library
rps
Description

The PostScriptMatrixString function creates a transformation matrix from a text string.

The argument str is the zero terminated string of space separated numbers that defines the matrix. The first number gives the top-left value, the second, the top-right value, the third, the bottom-left value, and the fourth gives the bottom right value.

Returns
Returns a pointer to the matrix structure on success. On error, a NULL pointer is returned.
Errors
On error, a NULL pointer is returned.
Example
PostScriptMatrixString
Source Code: PostScriptMatrixString.c

/* PostScriptMatrixString
   ======================
   Author: R.J.Barnes
 Copyright (c) 2012 The Johns Hopkins University/Applied Physics Laboratory

This file is part of the Radar Software Toolkit (RST).

RST is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.

Modifications:




#include <stdio.h>
#include <stdlib.h>
#include "rfbuffer.h"
#include "rps.h"

int stream(char *buf,int sze,void *data) {
  FILE *fp;
  fp=(FILE *) data;
  fwrite(buf,sze,1,stdout);
  return 0;
} 


int main(int argc,char *argv[]) {

  struct PostScript *ps=NULL;
  struct PostScriptMatrix *m=NULL;

  float wdt=400,hgt=400;
  float xoff=50,yoff=50;

  unsigned int fgcol=0xff000000;

  ps=PostScriptMake();
  PostScriptSetText(ps,stream,stdout);   
  PostScriptMakeDocument(ps,xoff,yoff,wdt,hgt,0);
  PostScriptMakePlot(ps);

  m=PostScriptMatrixString("0.5 0 0 0.5");

  PostScriptRectangle(ps,m,10,10,wdt-20,hgt-20,
                  1,fgcol,0,NULL,NULL);


 
  PostScriptEndPlot(ps);
  PostScriptEndDocument(ps);
  return 0;
}