git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2872 92316355-f0b4-4df1-b90c-862c8a59935fremotes/tiles
@@ -1,8 +1,17 @@ | |||
// AssemblyInfo.cs created with MonoDevelop | |||
// User: sam at 10:31 AM 9/2/2008 | |||
// | |||
// To change standard headers go to Edit->Preferences->Coding->Standard Headers | |||
// The Pimp The Pathetic Image Manipulation Program | |||
// Copyright (c) 2004-2008 Sam Hocevar <sam@zoy.org> | |||
// All Rights Reserved | |||
// | |||
// $Id$ | |||
// | |||
// This library is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What The Fuck You Want | |||
// To Public License, Version 2, as published by Sam Hocevar. See | |||
// http://sam.zoy.org/wtfpl/COPYING for more details. | |||
// | |||
using System.Reflection; | |||
using System.Runtime.CompilerServices; | |||
@@ -1,8 +1,17 @@ | |||
// Main.cs created with MonoDevelop | |||
// User: sam at 10:31 AM 9/2/2008 | |||
// | |||
// To change standard headers go to Edit->Preferences->Coding->Standard Headers | |||
// The Pimp The Pathetic Image Manipulation Program | |||
// Copyright (c) 2004-2008 Sam Hocevar <sam@zoy.org> | |||
// All Rights Reserved | |||
// | |||
// $Id$ | |||
// | |||
// This library is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What The Fuck You Want | |||
// To Public License, Version 2, as published by Sam Hocevar. See | |||
// http://sam.zoy.org/wtfpl/COPYING for more details. | |||
// | |||
using System; | |||
using Gtk; | |||
@@ -1,21 +1,33 @@ | |||
// MainWindow.cs created with MonoDevelop | |||
// User: sam at 10:31 AM 9/2/2008 | |||
// | |||
// To change standard headers go to Edit->Preferences->Coding->Standard Headers | |||
// The Pimp The Pathetic Image Manipulation Program | |||
// Copyright (c) 2004-2008 Sam Hocevar <sam@zoy.org> | |||
// All Rights Reserved | |||
// | |||
// $Id$ | |||
// | |||
// This library is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What The Fuck You Want | |||
// To Public License, Version 2, as published by Sam Hocevar. See | |||
// http://sam.zoy.org/wtfpl/COPYING for more details. | |||
// | |||
using System; | |||
using Gtk; | |||
using Pipi; | |||
using ThePimp; | |||
public partial class MainWindow: Gtk.Window | |||
{ | |||
{ | |||
public MainWindow (): base (Gtk.WindowType.Toplevel) | |||
{ | |||
Build (); | |||
Title += " v" + Libpipi.getVersion(); | |||
notebook1.Add(new PictureView(new Pipi.Picture("random:1024x1024"))); | |||
//scrolledwindow1.Add(new PictureView(new Pipi.Picture("random:1024x1024"))); | |||
} | |||
protected void OnDeleteEvent (object sender, DeleteEventArgs a) | |||
{ | |||
Application.Quit (); | |||
@@ -30,7 +42,8 @@ public partial class MainWindow: Gtk.Window | |||
if(p != null) | |||
{ | |||
Title += " image " + p.Width + "x" + p.Height; | |||
scrolledwindow1.Add(new PictureView(p)); | |||
notebook1.RemovePage(0); | |||
notebook1.AppendPage(new PictureView(p), null); | |||
} | |||
} | |||
@@ -3,11 +3,10 @@ | |||
pimp_sources = \ | |||
$(srcdir)/AssemblyInfo.cs \ | |||
$(srcdir)/Main.cs \ | |||
$(srcdir)/PictureView.cs \ | |||
$(srcdir)/gtk-gui/generated.cs \ | |||
$(srcdir)/OpenFile.cs \ | |||
$(srcdir)/gtk-gui/ThePimp.OpenFile.cs \ | |||
$(srcdir)/PictureView.cs \ | |||
$(srcdir)/gtk-gui/ThePimp.PictureView.cs \ | |||
$(srcdir)/MainWindow.cs \ | |||
$(srcdir)/gtk-gui/MainWindow.cs | |||
@@ -1,7 +1,15 @@ | |||
// OpenFile.cs created with MonoDevelop | |||
// User: sam at 23:05 03/10/2008 | |||
// | |||
// To change standard headers go to Edit->Preferences->Coding->Standard Headers | |||
// The Pimp The Pathetic Image Manipulation Program | |||
// Copyright (c) 2004-2008 Sam Hocevar <sam@zoy.org> | |||
// All Rights Reserved | |||
// | |||
// $Id$ | |||
// | |||
// This library is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What The Fuck You Want | |||
// To Public License, Version 2, as published by Sam Hocevar. See | |||
// http://sam.zoy.org/wtfpl/COPYING for more details. | |||
// | |||
using System; | |||
@@ -1,7 +1,15 @@ | |||
// PictureView.cs created with MonoDevelop | |||
// User: sam at 22:59 04/10/2008 | |||
// | |||
// To change standard headers go to Edit->Preferences->Coding->Standard Headers | |||
// The Pimp The Pathetic Image Manipulation Program | |||
// Copyright (c) 2004-2008 Sam Hocevar <sam@zoy.org> | |||
// All Rights Reserved | |||
// | |||
// $Id$ | |||
// | |||
// This library is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What The Fuck You Want | |||
// To Public License, Version 2, as published by Sam Hocevar. See | |||
// http://sam.zoy.org/wtfpl/COPYING for more details. | |||
// | |||
using System; | |||
@@ -10,16 +18,105 @@ using Pipi; | |||
namespace ThePimp | |||
{ | |||
public partial class PictureView : Gtk.Bin | |||
public class PictureArea : Gtk.DrawingArea | |||
{ | |||
protected override void OnSetScrollAdjustments (Adjustment hAdjustement, Adjustment vAdjustement) | |||
private Pipi.Picture _p; | |||
private Pango.Layout _l; | |||
private Adjustment _hadj = null, _vadj = null; | |||
void HAdjust(object sender, EventArgs args) | |||
{ | |||
QueueDraw(); | |||
} | |||
void VAdjust(object sender, EventArgs args) | |||
{ | |||
QueueDraw(); | |||
} | |||
protected override bool OnExposeEvent(Gdk.EventExpose e) | |||
{ | |||
bool ret = base.OnExposeEvent(e); | |||
//Console.WriteLine("expose {0}x{1}+{2}+{3}", e.Area.Width, e.Area.Height, e.Area.X, e.Area.Y); | |||
GdkWindow.DrawLayout(Style.TextGC(StateType.Normal), 40 - (int)_hadj.Value, 40 - (int)_vadj.Value, _l); | |||
GdkWindow.DrawLayout(Style.TextGC(StateType.Normal), 560 - (int)_hadj.Value, 40 - (int)_vadj.Value, _l); | |||
GdkWindow.DrawLayout(Style.TextGC(StateType.Normal), 40 - (int)_hadj.Value, 560 - (int)_vadj.Value, _l); | |||
GdkWindow.DrawLayout(Style.TextGC(StateType.Normal), 560 - (int)_hadj.Value, 560 - (int)_vadj.Value, _l); | |||
return ret; | |||
} | |||
protected override void OnRealized() | |||
{ | |||
_l = new Pango.Layout(PangoContext); | |||
_l.Wrap = Pango.WrapMode.Word; | |||
_l.FontDescription = Pango.FontDescription.FromString("Tahoma 64"); | |||
_l.SetMarkup("WHAT THE\nFUCK IS\nTHIS SHIT\nLOL ♥ ♥"); | |||
base.OnRealized(); | |||
} | |||
protected override void OnSetScrollAdjustments(Adjustment hadj, | |||
Adjustment vadj) | |||
{ | |||
Console.WriteLine("LOL WHAT"); | |||
_hadj = hadj; | |||
_vadj = vadj; | |||
if(hadj != null) | |||
hadj.ValueChanged += HAdjust; | |||
if(vadj != null) | |||
vadj.ValueChanged += VAdjust; | |||
} | |||
protected override void OnSizeAllocated(Gdk.Rectangle alloc) | |||
{ | |||
base.OnSizeAllocated(alloc); | |||
if(_hadj != null) | |||
{ | |||
_hadj.SetBounds(0, _p.Width, 1, alloc.Width, alloc.Width); | |||
if(_hadj.Value + alloc.Width > _p.Width) | |||
{ | |||
_hadj.Value = _p.Width - alloc.Width; | |||
_hadj.ChangeValue(); | |||
} | |||
} | |||
if(_vadj != null) | |||
{ | |||
_vadj.SetBounds(0, _p.Height, 1, alloc.Height, alloc.Height); | |||
if(_vadj.Value + alloc.Height > _p.Height) | |||
{ | |||
_vadj.Value = _p.Height - alloc.Height; | |||
_vadj.ChangeValue(); | |||
} | |||
} | |||
} | |||
protected override void OnDestroyed() | |||
{ | |||
if(_hadj != null) | |||
{ | |||
_hadj.ValueChanged -= HAdjust; | |||
_hadj = null; | |||
} | |||
if(_vadj != null) | |||
{ | |||
_vadj.ValueChanged -= VAdjust; | |||
_vadj = null; | |||
} | |||
} | |||
public PictureArea(Picture p) | |||
{ | |||
_p = p; | |||
} | |||
} | |||
public class PictureView : Gtk.ScrolledWindow | |||
{ | |||
public PictureView(Picture p) | |||
{ | |||
this.Build(); | |||
Add(new PictureArea(p)); | |||
ShowAll(); | |||
} | |||
} | |||
} |
@@ -28,10 +28,11 @@ | |||
<File name="AssemblyInfo.cs" subtype="Code" buildaction="Compile" /> | |||
<File name="app.desktop" subtype="Code" buildaction="FileCopy" DeployService.TargetDirectoryId="Linux.DesktopApplications" /> | |||
<File name="OpenFile.cs" subtype="Code" buildaction="Compile" /> | |||
<File name="gtk-gui/Pimp.OpenFile.cs" subtype="Code" buildaction="Compile" /> | |||
<File name="gtk-gui/objects.xml" subtype="Code" buildaction="EmbedAsResource" /> | |||
<File name="PictureView.cs" subtype="Code" buildaction="Compile" /> | |||
<File name="gtk-gui/ThePimp.PictureView.cs" subtype="Code" buildaction="Compile" /> | |||
<File name="gtk-gui/ThePimp.OpenFile.cs" subtype="Code" buildaction="Compile" /> | |||
<File name="ToolBox.cs" subtype="Code" buildaction="Compile" /> | |||
<File name="gtk-gui/ThePimp.ToolBox.cs" subtype="Code" buildaction="Compile" /> | |||
</Contents> | |||
<References> | |||
<ProjectReference type="Gac" localcopy="True" refto="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> | |||
@@ -47,6 +48,7 @@ | |||
<GtkDesignInfo gtkVersion="2.12.1"> | |||
<ExportedWidgets> | |||
<Widget>ThePimp.PictureView</Widget> | |||
<Widget>ThePimp.ToolBox</Widget> | |||
</ExportedWidgets> | |||
</GtkDesignInfo> | |||
</Project> |
@@ -0,0 +1,21 @@ | |||
// ToolBox.cs created with MonoDevelop | |||
// User: sam at 12:31 05/10/2008 | |||
// | |||
// To change standard headers go to Edit->Preferences->Coding->Standard Headers | |||
// | |||
using System; | |||
namespace ThePimp | |||
{ | |||
public partial class ToolBox : Gtk.Bin | |||
{ | |||
public ToolBox() | |||
{ | |||
this.Build(); | |||
} | |||
} | |||
} |
@@ -78,10 +78,6 @@ public partial class MainWindow { | |||
private Gtk.Notebook notebook1; | |||
private Gtk.ScrolledWindow scrolledwindow1; | |||
private Gtk.Label label1; | |||
private Gtk.VPaned vpaned1; | |||
private Gtk.VBox vbox2; | |||
@@ -232,23 +228,9 @@ public partial class MainWindow { | |||
this.notebook1.Name = "notebook1"; | |||
this.notebook1.CurrentPage = 0; | |||
this.notebook1.BorderWidth = ((uint)(5)); | |||
// Container child notebook1.Gtk.Notebook+NotebookChild | |||
this.scrolledwindow1 = new Gtk.ScrolledWindow(); | |||
this.scrolledwindow1.WidthRequest = 640; | |||
this.scrolledwindow1.HeightRequest = 480; | |||
this.scrolledwindow1.CanFocus = true; | |||
this.scrolledwindow1.Name = "scrolledwindow1"; | |||
this.scrolledwindow1.ShadowType = ((Gtk.ShadowType)(1)); | |||
this.notebook1.Add(this.scrolledwindow1); | |||
// Notebook tab | |||
this.label1 = new Gtk.Label(); | |||
this.label1.Name = "label1"; | |||
this.label1.LabelProp = Mono.Unix.Catalog.GetString("Test tab"); | |||
this.notebook1.SetTabLabel(this.scrolledwindow1, this.label1); | |||
this.label1.ShowAll(); | |||
this.hpaned1.Add(this.notebook1); | |||
Gtk.Paned.PanedChild w6 = ((Gtk.Paned.PanedChild)(this.hpaned1[this.notebook1])); | |||
w6.Resize = false; | |||
Gtk.Paned.PanedChild w5 = ((Gtk.Paned.PanedChild)(this.hpaned1[this.notebook1])); | |||
w5.Resize = false; | |||
// Container child hpaned1.Gtk.Paned+PanedChild | |||
this.vpaned1 = new Gtk.VPaned(); | |||
this.vpaned1.CanFocus = true; | |||
@@ -264,13 +246,13 @@ public partial class MainWindow { | |||
this.label2.Name = "label2"; | |||
this.label2.LabelProp = Mono.Unix.Catalog.GetString("Tools"); | |||
this.vbox2.Add(this.label2); | |||
Gtk.Box.BoxChild w7 = ((Gtk.Box.BoxChild)(this.vbox2[this.label2])); | |||
w7.Position = 0; | |||
w7.Expand = false; | |||
w7.Fill = false; | |||
Gtk.Box.BoxChild w6 = ((Gtk.Box.BoxChild)(this.vbox2[this.label2])); | |||
w6.Position = 0; | |||
w6.Expand = false; | |||
w6.Fill = false; | |||
this.vpaned1.Add(this.vbox2); | |||
Gtk.Paned.PanedChild w8 = ((Gtk.Paned.PanedChild)(this.vpaned1[this.vbox2])); | |||
w8.Resize = false; | |||
Gtk.Paned.PanedChild w7 = ((Gtk.Paned.PanedChild)(this.vpaned1[this.vbox2])); | |||
w7.Resize = false; | |||
// Container child vpaned1.Gtk.Paned+PanedChild | |||
this.vbox3 = new Gtk.VBox(); | |||
this.vbox3.Name = "vbox3"; | |||
@@ -281,24 +263,24 @@ public partial class MainWindow { | |||
this.label3.Name = "label3"; | |||
this.label3.LabelProp = Mono.Unix.Catalog.GetString("Layers & Channels"); | |||
this.vbox3.Add(this.label3); | |||
Gtk.Box.BoxChild w9 = ((Gtk.Box.BoxChild)(this.vbox3[this.label3])); | |||
w9.Position = 0; | |||
w9.Expand = false; | |||
w9.Fill = false; | |||
Gtk.Box.BoxChild w8 = ((Gtk.Box.BoxChild)(this.vbox3[this.label3])); | |||
w8.Position = 0; | |||
w8.Expand = false; | |||
w8.Fill = false; | |||
this.vpaned1.Add(this.vbox3); | |||
this.hpaned1.Add(this.vpaned1); | |||
this.vbox1.Add(this.hpaned1); | |||
Gtk.Box.BoxChild w12 = ((Gtk.Box.BoxChild)(this.vbox1[this.hpaned1])); | |||
w12.Position = 2; | |||
Gtk.Box.BoxChild w11 = ((Gtk.Box.BoxChild)(this.vbox1[this.hpaned1])); | |||
w11.Position = 2; | |||
// Container child vbox1.Gtk.Box+BoxChild | |||
this.statusbar1 = new Gtk.Statusbar(); | |||
this.statusbar1.Name = "statusbar1"; | |||
this.statusbar1.Spacing = 6; | |||
this.vbox1.Add(this.statusbar1); | |||
Gtk.Box.BoxChild w13 = ((Gtk.Box.BoxChild)(this.vbox1[this.statusbar1])); | |||
w13.Position = 3; | |||
w13.Expand = false; | |||
w13.Fill = false; | |||
Gtk.Box.BoxChild w12 = ((Gtk.Box.BoxChild)(this.vbox1[this.statusbar1])); | |||
w12.Position = 3; | |||
w12.Expand = false; | |||
w12.Fill = false; | |||
this.Add(this.vbox1); | |||
if ((this.Child != null)) { | |||
this.Child.ShowAll(); | |||
@@ -11,19 +11,13 @@ | |||
namespace ThePimp { | |||
public partial class PictureView { | |||
private Gtk.DrawingArea drawingarea1; | |||
public partial class ToolBox { | |||
protected virtual void Build() { | |||
Stetic.Gui.Initialize(this); | |||
// Widget ThePimp.PictureView | |||
// Widget ThePimp.ToolBox | |||
Stetic.BinContainer.Attach(this); | |||
this.Name = "ThePimp.PictureView"; | |||
// Container child ThePimp.PictureView.Gtk.Container+ContainerChild | |||
this.drawingarea1 = new Gtk.DrawingArea(); | |||
this.drawingarea1.Name = "drawingarea1"; | |||
this.Add(this.drawingarea1); | |||
this.Name = "ThePimp.ToolBox"; | |||
if ((this.Child != null)) { | |||
this.Child.ShowAll(); | |||
} |
@@ -267,31 +267,7 @@ | |||
<property name="CurrentPage">0</property> | |||
<property name="BorderWidth">5</property> | |||
<child> | |||
<widget class="Gtk.ScrolledWindow" id="scrolledwindow1"> | |||
<property name="MemberName" /> | |||
<property name="WidthRequest">640</property> | |||
<property name="HeightRequest">480</property> | |||
<property name="CanFocus">True</property> | |||
<property name="ShadowType">In</property> | |||
<child> | |||
<widget class="Gtk.Viewport" id="GtkViewport"> | |||
<property name="MemberName" /> | |||
<property name="ShadowType">None</property> | |||
<child> | |||
<placeholder /> | |||
</child> | |||
</widget> | |||
</child> | |||
</widget> | |||
</child> | |||
<child> | |||
<widget class="Gtk.Label" id="label1"> | |||
<property name="MemberName" /> | |||
<property name="LabelProp" translatable="yes">Test tab</property> | |||
</widget> | |||
<packing> | |||
<property name="type">tab</property> | |||
</packing> | |||
<placeholder /> | |||
</child> | |||
</widget> | |||
<packing> | |||
@@ -453,12 +429,16 @@ | |||
</widget> | |||
</child> | |||
</widget> | |||
<widget class="Gtk.Bin" id="ThePimp.ToolBox" design-size="300 300"> | |||
<property name="MemberName" /> | |||
<child> | |||
<placeholder /> | |||
</child> | |||
</widget> | |||
<widget class="Gtk.Bin" id="ThePimp.PictureView" design-size="300 300"> | |||
<property name="MemberName" /> | |||
<child> | |||
<widget class="Gtk.DrawingArea" id="drawingarea1"> | |||
<property name="MemberName" /> | |||
</widget> | |||
<placeholder /> | |||
</child> | |||
</widget> | |||
</stetic-interface> | |||
</stetic-interface> |
@@ -3,4 +3,8 @@ | |||
<itemgroups /> | |||
<signals /> | |||
</object> | |||
<object type="ThePimp.ToolBox" palette-category="ThePimp" allow-children="false" base-type="Gtk.Bin"> | |||
<itemgroups /> | |||
<signals /> | |||
</object> | |||
</objects> |
@@ -1,4 +1,5 @@ | |||
*.pidb | |||
*.mdb | |||
*.exe | |||
*.dll | |||
pipi-sharp.pc |
@@ -1,8 +1,17 @@ | |||
// AssemblyInfo.cs created with MonoDevelop | |||
// User: sam at 13:14 04/10/2008 | |||
// | |||
// To change standard headers go to Edit->Preferences->Coding->Standard Headers | |||
// libpipi Pathetic image processing interface library | |||
// Copyright (c) 2004-2008 Sam Hocevar <sam@zoy.org> | |||
// All Rights Reserved | |||
// | |||
// $Id$ | |||
// | |||
// This library is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What The Fuck You Want | |||
// To Public License, Version 2, as published by Sam Hocevar. See | |||
// http://sam.zoy.org/wtfpl/COPYING for more details. | |||
// | |||
using System.Reflection; | |||
using System.Runtime.CompilerServices; | |||
@@ -1,7 +1,15 @@ | |||
// MyClass.cs created with MonoDevelop | |||
// User: sam at 13:14 04/10/2008 | |||
// | |||
// To change standard headers go to Edit->Preferences->Coding->Standard Headers | |||
// libpipi Pathetic image processing interface library | |||
// Copyright (c) 2004-2008 Sam Hocevar <sam@zoy.org> | |||
// All Rights Reserved | |||
// | |||
// $Id$ | |||
// | |||
// This library is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What The Fuck You Want | |||
// To Public License, Version 2, as published by Sam Hocevar. See | |||
// http://sam.zoy.org/wtfpl/COPYING for more details. | |||
// | |||
using System; | |||
@@ -1,7 +1,15 @@ | |||
// MyClass.cs created with MonoDevelop | |||
// User: sam at 13:14 04/10/2008 | |||
// | |||
// To change standard headers go to Edit->Preferences->Coding->Standard Headers | |||
// libpipi Pathetic image processing interface library | |||
// Copyright (c) 2004-2008 Sam Hocevar <sam@zoy.org> | |||
// All Rights Reserved | |||
// | |||
// $Id$ | |||
// | |||
// This library is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What The Fuck You Want | |||
// To Public License, Version 2, as published by Sam Hocevar. See | |||
// http://sam.zoy.org/wtfpl/COPYING for more details. | |||
// | |||
using System; | |||