summaryrefslogtreecommitdiffstats
path: root/tkmacosx/tkmacosx.h
blob: 9363750b4c3b68768bc8befd79017c66410c3429 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// Copyright (C) 1999-2017
// Smithsonian Astrophysical Observatory, Cambridge, MA, USA
// For conditions of distribution and use, see copyright notice in "copyright"

#ifndef __tkmacosx_h__
#define __tkmacosx_h__

#include <tkMacOSXPrivate.h>

#include <vector.h>

@interface PMView : NSView
{
}
- (PMView*)init;
- (void)alloc;
- (void)dealloc;
- (void)drawRect: (NSRect)rect;
@end

class TkMacosx {
 private:
  Tcl_Interp* interp;

  Matrix canvasToPage;
  PMView* pmView;

  /*
  int showDialog;
  CGContextRef context;
  OSStatus status;

  PMPageFormat pageFormat;
  PMPrintSettings printSettings;
  PMPrintSession printSession;
  */

  int pmPrint(int, const char**);
  int pmPrintBegin(int, const char**);
  int pmPrintEnd();
  int pmPrintText(int, const char**);
  int pmPageSetup();

 public:
  TkMacosx(Tcl_Interp*);
  ~TkMacosx();

  int pm(int, const char**);
  int locale(int, const char**);

  const Matrix& getCanvasToPage() {return canvasToPage;}

  void begin();
  void end();
  
  void color(float,float,float);
  void width(float);
  void dash(float*,int);
  void font(const char*, float);
  void clip(float, float, float, float);

  void newpath();
  void stroke();
  void fill();
  void arc(float, float, float, float, float);
  void curve(float, float, float, float, float, float, float, float);

  void drawText(float, float, float, const char*);
  void drawLines(float*, float*, int);
  void fillPolygon(float*, float*, int);
  void drawArc(float, float, float, float, float);
  
  void bitmapCreate(void*, int, int, float, float, float, float);
};

extern TkMacosx* tkmacosx;

#endif