←Select platform

EnableEvents Method

Summary
Enables raising the Changed event.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public void EnableEvents() 
-(void)enableEvents 
public void enableEvents(); 
public: 
void EnableEvents();  
def EnableEvents(self): 
Remarks

Calling DisableEvents will increment an internal counter. When the internal counter is 0, the Changed events will be raised for changes to the RasterImage.

When the internal counter is != 0, Changed will not be raised. Therefore, for each call to DisableEvents, there should be a corresponding call to EnableEvents in order to restore the raising of events.

You can temporary disable the Changed event when performing multiple operations on a RasterImage object then re-enabling it once the operations are done. This way, any listeners to the Changed event will be notified only once thus optimizing the performance.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Dicom; 
using Leadtools.Drawing; 
using Leadtools.Controls; 
using Leadtools.Svg; 
 
 
public void ChangedExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); 
 
   // Load the image 
   RasterImage img = codecs.Load(srcFileName); 
 
   // Subscribe to the Changed event of this image 
   img.Changed += new EventHandler<RasterImageChangedEventArgs>(img_Changed); 
 
   // Call a few methods and image processing commands that changes the image 
   Console.WriteLine("Calling FlipViewPerspective"); 
   img.FlipViewPerspective(true); 
 
   Console.WriteLine("Calling RotateViewPerspective"); 
   img.RotateViewPerspective(90); 
 
   Console.WriteLine("Calling FlipCommand"); 
   FlipCommand flip = new FlipCommand(true); 
   flip.Run(img); 
 
   // Now disable firing the events and call the methods again 
   Console.WriteLine("Disabling the events"); 
   img.DisableEvents(); 
 
   Console.WriteLine("Calling FlipViewPerspective"); 
   img.FlipViewPerspective(true); 
 
   Console.WriteLine("Calling RotateViewPerspective"); 
   img.RotateViewPerspective(90); 
 
   Console.WriteLine("Calling FlipCommand while"); 
   flip.Run(img); 
 
   // Re-enable the events and fire it manually 
   Console.WriteLine("Re-enabling the events"); 
   img.EnableEvents(); 
 
   Console.WriteLine("Firing the event manually"); 
   RasterImageChangedFlags flags = RasterImageChangedFlags.Data | RasterImageChangedFlags.ViewPerspective; 
   RasterImageChangedEventArgs e = new RasterImageChangedEventArgs(flags); 
 
   img.OnChanged(e); 
 
   // Clean up 
   img.Changed -= new EventHandler<RasterImageChangedEventArgs>(img_Changed); 
   img.Dispose(); 
   codecs.Dispose(); 
} 
 
void img_Changed(object sender, RasterImageChangedEventArgs e) 
{ 
   // Show the changed flags 
   Console.WriteLine("Changed: {0}", e.Flags); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.IOException; 
import java.io.InputStream; 
import java.util.ArrayList; 
import java.util.List; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.core.*; 
import leadtools.svg.*; 
import leadtools.imageprocessing.CloneCommand; 
import leadtools.imageprocessing.FillCommand; 
import leadtools.imageprocessing.FlipCommand; 
import leadtools.imageprocessing.GrayscaleCommand; 
import leadtools.imageprocessing.color.InvertCommand; 
import leadtools.imageprocessing.color.PosterizeCommand; 
 
 
public void changedExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   RasterCodecs codecs = new RasterCodecs(); 
   String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1.cmp"); 
 
   // Load the image 
   RasterImage img = codecs.load(srcFileName); 
 
   // Subscribe to the Changed event of this image 
   img.addChangedListener(img_Changed); 
 
   // Call a few methods and image processing commands that changes the image 
   System.out.println("Calling FlipViewPerspective"); 
   img.flipViewPerspective(true); 
 
   System.out.println("Calling RotateViewPerspective"); 
   img.rotateViewPerspective(90); 
 
   System.out.println("Calling FlipCommand"); 
   FlipCommand flip = new FlipCommand(true); 
   flip.run(img); 
 
   // Now disable firing the events and call the methods again 
   System.out.println("Disabling the events"); 
   img.disableEvents(); 
 
   System.out.println("Calling FlipViewPerspective"); 
   img.flipViewPerspective(true); 
 
   System.out.println("Calling RotateViewPerspective"); 
   img.rotateViewPerspective(90); 
 
   System.out.println("Calling FlipCommand while"); 
   flip.run(img); 
 
   // Re-enable the events and fire it manually 
   System.out.println("Re-enabling the events"); 
   img.enableEvents(); 
 
   System.out.println("Firing the event manually"); 
   RasterImageChangedFlags flags = RasterImageChangedFlags 
         .forValue(RasterImageChangedFlags.DATA | RasterImageChangedFlags.VIEW_PERSPECTIVE); 
   RasterImageChangedEvent e = new RasterImageChangedEvent(flags, 
         RasterImageChangedFlags.DATA | RasterImageChangedFlags.VIEW_PERSPECTIVE); 
 
   img.onChanged(e); 
 
   // Save it 
   codecs.save(img, srcFileName, RasterImageFormat.CMP, 0); 
 
   // Clean up 
   img.removeChangedListener(img_Changed); 
   img.dispose(); 
   codecs.dispose(); 
 
   assertTrue("file unsuccessfully saved to " + srcFileName, (new File(srcFileName)).exists()); 
   System.out.printf("File saved successfully to %s%n", srcFileName); 
} 
 
RasterImageChangedListener img_Changed = new RasterImageChangedListener() { 
 
   @Override 
   public void onImageChangedAlert(RasterImageChangedEvent arg0) { 
      System.out.printf("Changed: %s%n", arg0.getFlags()); 
   } 
 
}; 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.