本文整理汇总了C#中Gdk.GC.SetLineAttributes方法的典型用法代码示例。如果您正苦于以下问题:C# Gdk.GC.SetLineAttributes方法的具体用法?C# Gdk.GC.SetLineAttributes怎么用?C# Gdk.GC.SetLineAttributes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Gdk.GC
的用法示例。
在下文中一共展示了Gdk.GC.SetLineAttributes方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadIcon
public static Gdk.Pixbuf LoadIcon (Gtk.Widget widget, string name, Gtk.IconSize size)
{
Gdk.Pixbuf res = widget.RenderIcon (name, size, null);
if ((res != null)) {
return res;
} else {
int sz;
int sy;
global::Gtk.Icon.SizeLookup (size, out sz, out sy);
try {
return Gtk.IconTheme.Default.LoadIcon (name, sz, 0);
} catch (System.Exception) {
if ((name != "gtk-missing-image")) {
return Stetic.IconLoader.LoadIcon (widget, "gtk-missing-image", size);
} else {
Gdk.Pixmap pmap = new Gdk.Pixmap (Gdk.Screen.Default.RootWindow, sz, sz);
Gdk.GC gc = new Gdk.GC (pmap);
gc.RgbFgColor = new Gdk.Color (255, 255, 255);
pmap.DrawRectangle (gc, true, 0, 0, sz, sz);
gc.RgbFgColor = new Gdk.Color (0, 0, 0);
pmap.DrawRectangle (gc, false, 0, 0, (sz - 1), (sz - 1));
gc.SetLineAttributes (3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round);
gc.RgbFgColor = new Gdk.Color (255, 0, 0);
pmap.DrawLine (gc, (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)), ((sz - 1) - (sz / 4)));
pmap.DrawLine (gc, ((sz - 1) - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)));
return Gdk.Pixbuf.FromDrawable (pmap, pmap.Colormap, 0, 0, 0, 0, sz, sz);
}
}
}
}
示例2: CreateDashedLineGC
Gdk.GC CreateDashedLineGC (Gdk.Color fg)
{
var gc = new Gdk.GC (Editor.GdkWindow);
gc.RgbFgColor = fg;
gc.SetLineAttributes (1, Gdk.LineStyle.OnOffDash, Gdk.CapStyle.NotLast, Gdk.JoinStyle.Bevel);
gc.SetDashes (0, new sbyte[] { 1, 1 }, 2);
return gc;
}
示例3: LoadIcon
public static Gdk.Pixbuf LoadIcon(string name, int sz) {
try {
return Gtk.IconTheme.Default.LoadIcon(name, sz, 0);
}
catch (System.Exception ) {
if ((name != "gtk-missing-image")) {
return Stetic.IconLoader.LoadIcon("gtk-missing-image", sz);
}
else {
Gdk.Pixmap pmap = new Gdk.Pixmap(Gdk.Screen.Default.RootWindow, sz, sz);
Gdk.GC gc = new Gdk.GC(pmap);
gc.RgbFgColor = new Gdk.Color(255, 255, 255);
pmap.DrawRectangle(gc, true, 0, 0, sz, sz);
gc.RgbFgColor = new Gdk.Color(0, 0, 0);
pmap.DrawRectangle(gc, false, 0, 0, (sz - 1), (sz - 1));
gc.SetLineAttributes(3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round);
gc.RgbFgColor = new Gdk.Color(255, 0, 0);
pmap.DrawLine(gc, (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)), ((sz - 1) - (sz / 4)));
pmap.DrawLine(gc, ((sz - 1) - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)));
return Gdk.Pixbuf.FromDrawable(pmap, pmap.Colormap, 0, 0, 0, 0, sz, sz);
}
}
}
示例4: Line_Expose
private void Line_Expose(object sender, Gtk.ExposeEventArgs e)
{
Gtk.DrawingArea line = (Gtk.DrawingArea)sender;
Gdk.GC gc = new Gdk.GC(line.GdkWindow);
Gdk.Rectangle alloc = line.Allocation;
int rightSide = 0;
if (line.Direction != Gtk.TextDirection.Rtl)
{
rightSide = alloc.Width;
}
Utility.Pair<int, bool> lineData = (Utility.Pair<int, bool>)_lines[line];
if (lineData != null)
{
int i = lineData.First;
bool rela = lineData.Second;
Gdk.LineStyle lineStyle = Gdk.LineStyle.Solid;
if (!rela)
{
lineStyle = Gdk.LineStyle.OnOffDash;
}
int lineWidth = 3;
gc.SetLineAttributes(lineWidth, lineStyle, Gdk.CapStyle.Butt, Gdk.JoinStyle.Bevel);
if (i % 2 == 0)
{
line.GdkWindow.DrawLine(gc, rightSide, alloc.Height / 2, alloc.Width / 2, alloc.Height / 2);
line.GdkWindow.DrawLine(gc, alloc.Width / 2, 0, alloc.Width / 2, alloc.Height / 2);
}
else
{
line.GdkWindow.DrawLine(gc, rightSide, alloc.Height / 2, alloc.Width / 2, alloc.Height / 2);
line.GdkWindow.DrawLine(gc, alloc.Width / 2, alloc.Height, alloc.Width / 2, alloc.Height / 2);
}
}
}
示例5: OnRealize
void OnRealize(object sender, EventArgs args)
{
gcBar = new Gdk.GC(drawer.GdkWindow);
gcBar.RgbFgColor = new Gdk.Color(0xa0, 0, 0);
gcGrid = new Gdk.GC(drawer.GdkWindow);
gcGrid.RgbFgColor = new Gdk.Color(0x60, 0x60, 0xff);
gcGrid.SetLineAttributes(1,
Gdk.LineStyle.OnOffDash,
Gdk.CapStyle.Butt,
Gdk.JoinStyle.Miter);
gcGrid.SetDashes(0, new sbyte[]{2, 4}, 2);
}
示例6: CreateBitmap
internal static Gdk.Pixbuf CreateBitmap(string stockId, double width, double height, double scaleFactor)
{
Gdk.Pixbuf result = null;
Gtk.IconSet iconset = Gtk.IconFactory.LookupDefault (stockId);
if (iconset != null) {
// Find the size that better fits the requested size
Gtk.IconSize gsize = Util.GetBestSizeFit (width);
result = iconset.RenderIcon (Gtk.Widget.DefaultStyle, Gtk.TextDirection.Ltr, Gtk.StateType.Normal, gsize, null, null, scaleFactor);
if (result == null || result.Width < width * scaleFactor) {
var gsize2x = Util.GetBestSizeFit (width * scaleFactor, iconset.Sizes);
if (gsize2x != Gtk.IconSize.Invalid && gsize2x != gsize)
// Don't dispose the previous result since the icon is owned by the IconSet
result = iconset.RenderIcon (Gtk.Widget.DefaultStyle, Gtk.TextDirection.Ltr, Gtk.StateType.Normal, gsize2x, null, null);
}
}
if (result == null && Gtk.IconTheme.Default.HasIcon (stockId))
result = Gtk.IconTheme.Default.LoadIcon (stockId, (int)width, (Gtk.IconLookupFlags)0);
if (result == null)
{
// render a custom gtk-missing-image icon
// if Gtk.Stock.MissingImage is not found
int w = (int)width;
int h = (int)height;
#if XWT_GTK3
Cairo.ImageSurface s = new Cairo.ImageSurface(Cairo.Format.ARGB32, w, h);
Cairo.Context cr = new Cairo.Context(s);
cr.SetSourceRGB(255, 255, 255);
cr.Rectangle(0, 0, w, h);
cr.Fill();
cr.SetSourceRGB(0, 0, 0);
cr.LineWidth = 1;
cr.Rectangle(0.5, 0.5, w - 1, h - 1);
cr.Stroke();
cr.SetSourceRGB(255, 0, 0);
cr.LineWidth = 3;
cr.LineCap = Cairo.LineCap.Round;
cr.LineJoin = Cairo.LineJoin.Round;
cr.MoveTo(w / 4, h / 4);
cr.LineTo((w - 1) - w / 4, (h - 1) - h / 4);
cr.MoveTo(w / 4, (h - 1) - h / 4);
cr.LineTo((w - 1) - w / 4, h / 4);
cr.Stroke();
result = Gtk3Extensions.GetFromSurface(s, 0, 0, w, h);
#else
using (Gdk.Pixmap pmap = new Gdk.Pixmap (Gdk.Screen.Default.RootWindow, w, h))
using (Gdk.GC gc = new Gdk.GC (pmap)) {
gc.RgbFgColor = new Gdk.Color (255, 255, 255);
pmap.DrawRectangle (gc, true, 0, 0, w, h);
gc.RgbFgColor = new Gdk.Color (0, 0, 0);
pmap.DrawRectangle (gc, false, 0, 0, (w - 1), (h - 1));
gc.SetLineAttributes (3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round);
gc.RgbFgColor = new Gdk.Color (255, 0, 0);
pmap.DrawLine (gc, (w / 4), (h / 4), ((w - 1) - (w / 4)), ((h - 1) - (h / 4)));
pmap.DrawLine (gc, ((w - 1) - (w / 4)), (h / 4), (w / 4), ((h - 1) - (h / 4)));
result = Gdk.Pixbuf.FromDrawable (pmap, pmap.Colormap, 0, 0, 0, 0, w, h);
}
#endif
}
return result;
}
示例7: CreateBitmap
internal static Gdk.Pixbuf CreateBitmap(string stockId, double width, double height, double scaleFactor)
{
Gdk.Pixbuf result = null;
Gtk.IconSet iconset = Gtk.IconFactory.LookupDefault (stockId);
if (iconset != null) {
// Find the size that better fits the requested size
Gtk.IconSize gsize = Util.GetBestSizeFit (width);
result = iconset.RenderIcon (Gtk.Widget.DefaultStyle, Gtk.TextDirection.Ltr, Gtk.StateType.Normal, gsize, null, null, scaleFactor);
if (result == null || result.Width < width * scaleFactor) {
var gsize2x = Util.GetBestSizeFit (width * scaleFactor, iconset.Sizes);
if (gsize2x != Gtk.IconSize.Invalid && gsize2x != gsize)
// Don't dispose the previous result since the icon is owned by the IconSet
result = iconset.RenderIcon (Gtk.Widget.DefaultStyle, Gtk.TextDirection.Ltr, Gtk.StateType.Normal, gsize2x, null, null);
}
}
if (result == null && Gtk.IconTheme.Default.HasIcon (stockId))
result = Gtk.IconTheme.Default.LoadIcon (stockId, (int)width, (Gtk.IconLookupFlags)0);
if (result == null) {
// return CreateBitmap (Gtk.Stock.MissingImage, width, height, scaleFactor);
int w = (int) width;
int h = (int) height;
Gdk.Pixmap pmap = new Gdk.Pixmap (Gdk.Screen.Default.RootWindow, w, h);
Gdk.GC gc = new Gdk.GC (pmap);
gc.RgbFgColor = new Gdk.Color (255, 255, 255);
pmap.DrawRectangle (gc, true, 0, 0, w, h);
gc.RgbFgColor = new Gdk.Color (0, 0, 0);
pmap.DrawRectangle (gc, false, 0, 0, (w - 1), (h - 1));
gc.SetLineAttributes (3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round);
gc.RgbFgColor = new Gdk.Color (255, 0, 0);
pmap.DrawLine (gc, (w / 4), (h / 4), ((w - 1) - (w / 4)), ((h - 1) - (h / 4)));
pmap.DrawLine (gc, ((w - 1) - (w / 4)), (h / 4), (w / 4), ((h - 1) - (h / 4)));
return Gdk.Pixbuf.FromDrawable (pmap, pmap.Colormap, 0, 0, 0, 0, w, h);
}
return result;
}