コード例 #1
0
ファイル: RenderingQueueWindow.cs プロジェクト: radtek/CatEye
 void HandleRenderingQueueItemAdded(object sender, RenderingTaskEventArgs e)
 {
     Application.Invoke(delegate {
         RefreshQueueList();
         if (!expander1.Expanded)
         {
             queue_GtkLabel.Markup = "<b>Tasks queue (" + mRenderingQueue.Queue.Length + " left)</b>";
         }
     });
 }
コード例 #2
0
ファイル: RenderingQueueWindow.cs プロジェクト: radtek/CatEye
 void HandleRenderingQueueAfterItemProcessingFinished(object sender, RenderingTaskEventArgs e)
 {
     Application.Invoke(delegate {
         source_label.Text               = "";
         destination_label.Text          = "";
         processing_progressbar.Fraction = 1;
         processing_progressbar.Text     = "Render process is completed";
         thumb_image.Clear();
     });
 }
コード例 #3
0
ファイル: RenderingQueueWindow.cs プロジェクト: radtek/CatEye
 void HandleRenderingQueueBeforeItemProcessingStarted(object sender, RenderingTaskEventArgs e)
 {
     Application.Invoke(delegate {
         cancel_button.Sensitive         = true;
         cancelAll_button.Sensitive      = true;
         source_label.Text               = "";
         destination_label.Text          = "";
         processing_progressbar.Fraction = 0;
         processing_progressbar.Text     = "Starting the render process...";
         mProcessingStatusIcon.Visible   = true;
         updateMoment = DateTime.Now;
     });
 }
コード例 #4
0
ファイル: RenderingQueueWindow.cs プロジェクト: radtek/CatEye
        // Each handler here should contain Application.Invoke

        void HandleRenderingQueueItemRendering(object sender, RenderingTaskEventArgs e)
        {
            Application.Invoke(delegate {
                FloatBitmapGtk renderDest = (FloatBitmapGtk)e.Target.Stage.CurrentImage;

                // Drawing to pixbuf and saving to file
                using (Gdk.Pixbuf rp = new Gdk.Pixbuf(Gdk.Colorspace.Rgb, false, 8, renderDest.Width, renderDest.Height))
                {
                    renderDest.DrawToPixbuf(rp,
                                            delegate(double progress) {
                        // TODO: report progress via RenderingTask (needed to create an event)
                        //rpw.SetStatusAndProgress(progress, "Saving image...");
                        return(true);
                    }
                                            );

                    // TODO: "quality" must be specified for jpeg only.
                    // For png it should be "tEXt" fields.
                    // http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html
                    rp.Savev(e.Target.Destination, e.Target.FileType, new string[] { "quality" }, new string[] { "95" });
                }
            });
        }
コード例 #5
0
ファイル: RenderingQueueWindow.cs プロジェクト: radtek/CatEye
 void HandleRenderingQueueItemIndexChanged(object sender, RenderingTaskEventArgs e)
 {
     Application.Invoke(delegate {
         RefreshQueueList();
     });
 }