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

PostScriptScaleMatrix

Syntax
int PostScriptScaleMatrix(struct PostScriptMatrix *ptr, float xscale,float yscale);
Header
base/rps.h
Library
rps
Description

The PostScriptScaleMatrix function scales a transformation matrix.

The matrix to scale is pointed to by the argument ptr. The X and Y scale factors are given by the arguments xscale and yscale.

Returns
Returns zero on success. On error, (-1) is returned.
Errors
On error, (-1) is returned.
Example
PostScriptScaleMatrix
Source Code: PostScriptScaleMatrix.c

/* PostScriptScaleMatrix
   =====================
   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;
 
  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.a=1.0;
  m.b=0.0;
  m.c=0.0;
  m.d=1.0;

  PostScriptScaleMatrix(&m,0.5,0.8);

  PostScriptRectangle(ps,&m,wdt/2,hgt/2,wdt/4,hgt/4,
                   0,fgcol,0,NULL,NULL);




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