Skip to content
This repository was archived by the owner on Feb 16, 2025. It is now read-only.

Commit c709550

Browse files
committed
- preliminary pdf export support
1 parent 60b4acd commit c709550

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

MainWindow.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ public class MainWindow
1515
[Widget] ImageMenuItem MenuFileOpen;
1616
[Widget] ImageMenuItem MenuFileSave;
1717
[Widget] ImageMenuItem MenuFileSaveAs;
18+
[Widget] ImageMenuItem MenuFilePrint;
1819
[Widget] ImageMenuItem MenuFilePreferences;
1920
[Widget] ImageMenuItem MenuFileQuit;
2021
[Widget] ImageMenuItem MenuSystemRun;
@@ -79,6 +80,7 @@ public MainWindow(string[] args)
7980
MenuFileSave.Activated += OnSave;
8081
MenuFileSaveAs.Image = new Image(null, "document-save-as.png");
8182
MenuFileSaveAs.Activated += OnSaveAs;
83+
MenuFilePrint.Activated += OnPrint;
8284
MenuFilePreferences.Image = new Image(null, "preferences-desktop.png");
8385
MenuFilePreferences.Activated += delegate(object o, EventArgs eargs) { new Preferences(); };
8486
MenuFileQuit.Image = new Image(null, "system-log-out.png");
@@ -220,6 +222,17 @@ private void OnSave(object o, EventArgs args)
220222
}
221223
}
222224

225+
private void OnPrint(object o, EventArgs args)
226+
{
227+
Cairo.PdfSurface pdf = new Cairo.PdfSurface("print.pdf", 512, 512);
228+
Cairo.Context c = new Cairo.Context(pdf);
229+
230+
schematic.Draw(c);
231+
232+
((IDisposable) c.Target).Dispose();
233+
((IDisposable) c).Dispose();
234+
}
235+
223236
private void OnRun(object o, EventArgs args)
224237
{
225238
if(engine.Running)

Schematic.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ public void Clear()
517517
QueueDraw();
518518
}
519519

520-
private void Draw(Context c)
520+
public void Draw(Context c)
521521
{
522522
if(ChangeBackground)
523523
{

resources/MainWindow.glade

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,15 @@
5151
<property name="use_stock">True</property>
5252
</widget>
5353
</child>
54+
<child>
55+
<widget class="GtkImageMenuItem" id="MenuFilePrint">
56+
<property name="visible">True</property>
57+
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
58+
<property name="label" translatable="yes">gtk-print</property>
59+
<property name="use_underline">True</property>
60+
<property name="use_stock">True</property>
61+
</widget>
62+
</child>
5463
<child>
5564
<widget class="GtkSeparatorMenuItem" id="separator1">
5665
<property name="visible">True</property>

0 commit comments

Comments
 (0)