public void DrawImage(Point start, double width, double height, Image image, bool scale, bool masked = false) { double scaleX, scaleY; Point offset; if (scale) { image.ScaleFactor((int)width, (int)height, out scaleX, out scaleY, out offset); } else { offset = new Point(0, 0); scaleX = width / image.Width; scaleY = height / image.Height; } CContext.Save(); CContext.Translate(start.X + offset.X, start.Y + offset.Y); CContext.Scale(scaleX, scaleY); if (masked) { CContext.PushGroup(); Gdk.CairoHelper.SetSourcePixbuf(CContext, image.Value, 0, 0); CContext.Paint(); var src = CContext.PopGroup(); SetColor(FillColor); CContext.Mask(src); src.Dispose(); } else { Gdk.CairoHelper.SetSourcePixbuf(CContext, image.Value, 0, 0); CContext.Paint(); } CContext.Restore(); }
public void Save(ICanvas canvas, Area area, string filename) { Image img = Copy(canvas, area); img.Save(filename); img.Dispose(); }
void HandleFieldButtonPressEvent(object o, Gtk.ButtonPressEventArgs args) { LongoMatch.Core.Common.Image background; Gdk.Pixbuf pix = Helpers.Misc.OpenImage(this); if (pix == null) { return; } background = new Image(pix); background.ScaleInplace(Constants.MAX_BACKGROUND_WIDTH, Constants.MAX_BACKGROUND_HEIGHT); if (o == fieldeventbox) { UpdateBackground(background, 0); } else if (o == hfieldeventbox) { UpdateBackground(background, 1); } else if (o == goaleventbox) { UpdateBackground(background, 2); } Edited = true; }
public ScoreObject(ScoreButton score) : base(score) { ScoreButton = score; if (iconImage == null) { iconImage = Resources.LoadImage (StyleConf.ButtonScoreIcon); } }
public PositionTagger(IWidget widget, ProjectLongoMatch project, List<TimelineEventLongoMatch> plays, Image background, FieldPositionType position) : base(widget) { Project = project; Background = background; Plays = plays; FieldPosition = position; BackgroundColor = App.Current.Style.PaletteBackground; }
public void LoadFrame(Image frame, Project project) { this.project = project; drawing = new FrameDrawing(); scaleFactor = (double)frame.Width / 500; blackboard.Background = frame; blackboard.Drawing = drawing; savetoprojectbutton.Visible = false; UpdateLineWidth(); UpdateTextSize(); }
void LoadImage(Image image, FrameDrawing drawing) { if (image == null) { DrawingsVisible = false; return; } blackboard.Background = image; blackboard.Drawing = drawing; DrawingsVisible = true; blackboarddrawingarea.QueueDraw(); }
public void LoadPlay(TimelineEvent play, Image frame, FrameDrawing drawing, CameraConfig camConfig, Project project) { this.play = play; this.drawing = drawing; this.project = project; this.camConfig = camConfig; scaleFactor = (double)frame.Width / 500; blackboard.Background = frame; savetoprojectbutton.Visible = true; blackboard.Drawing = drawing; blackboard.RegionOfInterest = drawing.RegionOfInterest; }
public TimerObject(TimerButton timer) : base(timer) { Button = timer; Toggle = true; CurrentTime = new Time (0); if (iconImage == null) { iconImage = new Image (Path.Combine (Config.ImagesDir, StyleConf.ButtonTimerIcon)); } if (cancelImage == null) { cancelImage = new Image (Path.Combine (Config.IconsDir, StyleConf.CancelButton)); } MinWidth = StyleConf.ButtonMinWidth; MinHeight = iconImage.Height + StyleConf.ButtonTimerFontSize; cancelRect = new Rectangle (); }
public Image Copy(ICanvas canvas, Area area) { Image img; Pixmap pm; global::Cairo.Context ctx; pm = new Pixmap(null, (int)area.Width, (int)area.Height, 24); ctx = Gdk.CairoHelper.Create(pm); disableScalling = true; using (CairoContext c = new CairoContext(ctx)) { ctx.Translate(-area.Start.X, -area.Start.Y); canvas.Draw(c, null); } disableScalling = false; img = new Image(Pixbuf.FromDrawable(pm, Colormap.System, 0, 0, 0, 0, (int)area.Width, (int)area.Height)); return(img); }
void UpdateBackground(Image background, int index) { if (index == 0) { template.FieldBackground = background; fieldimage.Pixbuf = background.Scale(50, 50).Value; } else if (index == 1) { template.HalfFieldBackground = background; hfieldimage.Pixbuf = background.Scale(50, 50).Value; } else if (index == 2) { template.GoalBackground = background; goalimage.Pixbuf = background.Scale(50, 50).Value; } Edited = true; }
public void DrawingTool(Image image, TimelineEvent play, FrameDrawing drawing, CameraConfig camConfig, Project project) { DrawingTool dialog = new DrawingTool(mainWindow); dialog.TransientFor = mainWindow; Log.Information("Drawing tool"); if (play == null) { dialog.LoadFrame(image, project); } else { dialog.LoadPlay(play, image, drawing, camConfig, project); } dialog.Show(); dialog.Run(); dialog.Destroy(); }
void HandleShieldButtonPressEvent(object o, ButtonPressEventArgs args) { Image shield; Pixbuf pix = Helpers.Misc.OpenImage(this); if (pix == null) { return; } shield = new Image(pix); if (shield != null) { shield.ScaleInplace(Constants.MAX_SHIELD_ICON_SIZE, Constants.MAX_SHIELD_ICON_SIZE); template.Shield = shield; shieldimage.Pixbuf = shield.Scale(SHIELD_SIZE, SHIELD_SIZE).Value; Edited = true; } }
void HandlePlayerButtonPressEvent(object o, ButtonPressEventArgs args) { Image player; Pixbuf pix = Helpers.Misc.OpenImage(this); if (pix == null) { return; } player = new Image(pix); player.ScaleInplace(Constants.MAX_PLAYER_ICON_SIZE, Constants.MAX_PLAYER_ICON_SIZE); if (player != null && loadedPlayer != null) { playerimage.Pixbuf = player.Value; loadedPlayer.Photo = player; teamtagger.Reload(); Edited = true; } }
public void LoadTeams(SportsTeam homeTeam, SportsTeam awayTeam, Image background) { tagger.LoadTeams (homeTeam, awayTeam, background); widget?.ReDraw (); }
public void LoadFrame(Image frame, Project project) { this.project = project; drawing = new FrameDrawing (); scaleFactor = (double)frame.Width / 500; blackboard.Background = frame; blackboard.Drawing = drawing; savetoprojectbutton.Visible = false; UpdateLineWidth (); UpdateTextSize (); }
public void DrawImage(Image image) { Gdk.CairoHelper.SetSourcePixbuf(CContext, image.Value, 0, 0); CContext.Paint(); }
public void LoadTeams(Image backgroundImg, int[] homeF, int[] awayF, List<SportsPlayerObject> homeT, List<SportsPlayerObject> awayT, int size, int nteams) { background = backgroundImg; homeFormation = homeF; awayFormation = awayF; HomePlayingPlayers = homeT; AwayPlayingPlayers = awayT; playerSize = size; NTeams = nteams; Update (); }
public void LoadPlay(TimelineEvent play, Image frame, FrameDrawing drawing, CameraConfig camConfig, Project project) { this.play = play; this.drawing = drawing; this.project = project; this.camConfig = camConfig; scaleFactor = (double)frame.Width / 500; blackboard.Background = frame; savetoprojectbutton.Visible = true; blackboard.Drawing = drawing; blackboard.RegionOfInterest = drawing.RegionOfInterest; }
void HandleShieldButtonPressEvent(object o, ButtonPressEventArgs args) { Image shield; Pixbuf pix = Helpers.Misc.OpenImage (this); if (pix == null) { return; } shield = new Image (pix); if (shield != null) { shield.ScaleInplace (Constants.MAX_SHIELD_ICON_SIZE, Constants.MAX_SHIELD_ICON_SIZE); template.Shield = shield; shieldimage.Pixbuf = shield.Scale (SHIELD_SIZE, SHIELD_SIZE).Value; Edited = true; } }
void LoadImage(Image image, FrameDrawing drawing) { if (image == null) { DrawingsVisible = false; return; } blackboard.Background = image; blackboard.Drawing = drawing; DrawingsVisible = true; blackboarddrawingarea.QueueDraw (); }
public void SetCursorForTool(DrawTool tool) { string cursorStr = null; Gdk.Cursor cursor = null; switch (tool) { case DrawTool.Line: cursorStr = "arrow"; break; case DrawTool.Cross: cursorStr = "cross"; break; case DrawTool.Text: cursorStr = "text"; break; case DrawTool.Counter: cursorStr = "number"; break; case DrawTool.Ellipse: case DrawTool.CircleArea: cursorStr = "ellipse"; break; case DrawTool.Rectangle: case DrawTool.RectangleArea: cursorStr = "rect"; break; case DrawTool.Angle: cursorStr = "angle"; break; case DrawTool.Pen: cursorStr = "freehand"; break; case DrawTool.Eraser: cursorStr = "eraser"; break; case DrawTool.Player: cursorStr = "player"; break; case DrawTool.Zoom: cursorStr = "zoom"; break; case DrawTool.CanMove: cursorStr = "hand_opened"; break; case DrawTool.Move: cursorStr = "hand_closed"; break; case DrawTool.Selection: cursorStr = "hand_select"; break; default: cursor = null; break; } if (cursorStr == null) { widget.GdkWindow.Cursor = cursor; } else { Image img = Image.LoadFromFile(Path.Combine(Config.ImagesDir, "cursors", cursorStr)); Cursor c = new Cursor(widget.Display, img.Value, 0, 0); widget.GdkWindow.Cursor = c; } }
void HandleFieldButtonPressEvent(object o, Gtk.ButtonPressEventArgs args) { LongoMatch.Core.Common.Image background; Gdk.Pixbuf pix = Helpers.Misc.OpenImage (this); if (pix == null) { return; } background = new Image (pix); background.ScaleInplace (Constants.MAX_BACKGROUND_WIDTH, Constants.MAX_BACKGROUND_HEIGHT); if (o == fieldeventbox) { UpdateBackground (background, 0); } else if (o == hfieldeventbox) { UpdateBackground (background, 1); } else if (o == goaleventbox) { UpdateBackground (background, 2); } Edited = true; }
void UpdateBackground(Image background, int index) { if (index == 0) { template.FieldBackground = background; fieldimage.Pixbuf = background.Scale (50, 50).Value; } else if (index == 1) { template.HalfFieldBackground = background; hfieldimage.Pixbuf = background.Scale (50, 50).Value; } else if (index == 2) { template.GoalBackground = background; goalimage.Pixbuf = background.Scale (50, 50).Value; } Edited = true; }
public ISurface CreateSurface(string filename, bool warnOnDispose = true) { Image img = Image.LoadFromFile(filename); return(CreateSurface(img.Width, img.Height, img, warnOnDispose)); }
void HandlePlayerButtonPressEvent(object o, ButtonPressEventArgs args) { Image player; Pixbuf pix = Helpers.Misc.OpenImage (this); if (pix == null) { return; } player = new Image (pix); player.ScaleInplace (Constants.MAX_PLAYER_ICON_SIZE, Constants.MAX_PLAYER_ICON_SIZE); if (player != null && loadedPlayer != null) { playerimage.Pixbuf = player.Value; loadedPlayer.Photo = player; teamtagger.Reload (); Edited = true; } }
public ISurface CreateSurface(int width, int height, Image image = null, bool warnOnDispose = true) { return(new Surface(width, height, image, warnOnDispose)); }