AForge.Controls
    
    
        
            
            Hue picker control.
            
            
            The control allows selecting hue value (or range) from HSL color space. Hue values
            are integer values in the [0, 359] range.
            
            If control's type is set to , then it allows selecting single
            hue value and looks like this:
            
            
            
            If control's type is set to , then it allows selecting range
            of hue values and looks like this:
            
            
            
            
        
        
            
            An event, to notify about changes of  or  properties.
            
            
            The event is fired after changes of its ,  or
             properties, which is caused by user dragging the corresponding hue picker's bullets.
            
            
        
        
            
            Enumeration of hue picker types.
            
            
            
            The  type provides single bullet to drag, which allows
            selecting single hue value. The value is accessible through  property.
            
            The  type provides two bullets to drag, which correspond
            to minimum and maximum values of the hue range. These values are accessible through
             and  properties.
            
            
        
        
            
            Selecting single hue value.
            
        
        
            
            Selecting hue values range.
            
        
        
            
            Selected value of the hue picker control in  mode.
            
        
        
            
            Minimum selected value of the hue picker control in  mode.
            
        
        
            
            Maximum selected value of the hue picker control in  mode.
            
        
        
            
            Current type of the hue picker control.
            
            
            See  enumeration for description of the available types.
            
        
        
            
            Initializes a new instance of the  class.
            
            
        
        
            
            Dispose the object.
            
            
            Specifies if disposing was invoked by user's code.
            
        
        
            
            Paint the controls.
            
            
            Paint event arguments.
            
        
        
             
             Slider control.
             
            
             
             The control represents a slider, which can be dragged in the [-1, 1] range.
             Default position of the slider is set 0, which corresponds to center of the control.
             
             
             
            
        
        
            
            Determines behaviour of manipulator, when mouse button is released.
            
            
            
            The property controls behaviour of manipulator on releasing mouse button. If
            the property is set to , then position of manipulator is reset
            to 0, when mouse button is released. Otherwise manipulator stays on the place,
            where it was left.
            
            Default value is set to .
            
            
        
        
            
            Color used for drawing borders.
            
            
            
            Default value is set to .
            
            
        
        
            
            Background color used for filling area corresponding to positive values.
            
            
            
            Default value is set to .
            
            
        
        
            
            Background color used for filling area corresponding to negative values.
            
            
            
            Default value is set to .
            
            
        
        
            
            Color used for filling manipulator.
            
            
            
            Default value is set to .
            
            
        
        
            
            Defines if control has horizontal or vertical look.
            
            
            
            Default value is set to .
            
            
        
        
            
            Current manipulator's position, [-1, 1].
            
            
            The property equals to current manipulator's position.
            
            
        
        
            
            Delegate used for notification about manipulator's position changes.
            
            
            Event sender - object sending the event.
            Current position of manipulator.
            
        
        
            
            Event used for notification about manipulator's position changes.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
             
            Required designer variable.
            
        
        
             
            Clean up any resources being used.
            
            true if managed resources should be disposed; otherwise, false.
        
        
             
            Required method for Designer support - do not modify 
            the contents of this method with the code editor.
            
        
        
            
            Chart control.
            
            
            The chart control allows to display multiple charts at time
            of different types: dots, lines, connected dots.
            
            Sample usage:
            
            // create data series array
            double[,] testValues = new double[10, 2];
            // fill data series
            for ( int i = 0; i < 10; i++ )
            {
                testValues[i, 0] = i; // X values
                testValues[i, 1] = Math.Sin( i / 18.0 * Math.PI ); // Y values
            }
            // add new data series to the chart
            chart.AddDataSeries( "Test", Color.DarkGreen, Chart.SeriesType.ConnectedDots, 3 );
            // set X range to display
            chart.RangeX = new AForge.Range( 0, 9 );
            // update the chart
            chart.UpdateDataSeries( "Test", testValues );
            
            
            
        
        
            
            Chart series type enumeration.
            
        
        
            
            Line style.
            
        
        
            
            Dots style.
            
        
        
            
            Connected dots style.
            
        
        
            
            Chart's X range.
            
            
            The value sets the X range of data to be displayed on the chart.
            
        
        
             
             Chart's Y range.
             
             
             The value sets the Y range of data to be displayed on the chart.
            
        
        
            
            Required designer variable.
            
        
        
            
            Initializes a new instance of the  class.
            
            
        
        
            
            Dispose the object.
            
        
        
            
            Required method for Designer support - do not modify 
            the contents of this method with the code editor.
            
        
        
            
            Add data series to the chart.
            
            
            Data series name.
            Data series color.
            Data series type.
            Width (depends on the data series type, see remarks).
            
            Adds new empty data series to the collection of data series. To update this
            series the  method should be used.
            
            The meaning of the width parameter depends on the data series type:
            
            - Line - width of the line;
 
            - Dots - size of dots (rectangular dots with specified width and the same height);
 
            - Connected dots - size of dots (dots are connected with one pixel width line).
 
            
            
            
            
        
        
            
            Add data series to the chart.
            
            
            Data series name.
            Data series color.
            Data series type.
            Width (depends on the data series type, see remarks).
            Specifies if  should be updated.
            
            Adds new empty data series to the collection of data series.
            
            The updateYRange parameter specifies if the data series may affect displayable
            Y range. If the value is set to false, then displayable Y range is not updated, but used the
            range, which was specified by user (see  property). In the case if the
            value is set to true, the displayable Y range is recalculated to fully fit the new data
            series.
            
            
        
        
            
            Update data series on the chart.
            
            
            Data series name to update.
            Data series values.
            
        
        
            
            Remove data series from the chart.
            
            
            Data series name to remove.
            
        
        
            
            Remove all data series from the chart.
            
        
        
            
            Update Y range.
            
        
        
            
            Color slider control.
            
            
            The control represent a color slider, which allows selecting
            one or two values in the [0, 255] range. The application of this control
            includes mostly areas of image processing and computer vision, where it is required
            to select color threshold or ranges for different type of color filtering.
            
            Depending on the control's , it has different look and may suite
            different tasks. See documentation to  for information
            about available type and possible control's looks.
            
            
        
        
            
            An event, to notify about changes of  or  properties.
            
            
            The event is fired after changes of  or  property,
            which is caused by user dragging the corresponding controlæ¯ arrow (slider).
            
            
        
        
             
             Enumeration of color slider types.
             
             
             
             The  slider's type supposes the control's
             background filled with gradient startting from  color and ending
             with  color. The  color does not have
             impact on control's look.
             
             This type allows as one-arrow, as two-arrows control.
             
             Sample control's look:
             
    
             
             The  slider's type supposes the control's
             background filled with gradient startting from  color and ending
             with  color. In addition the areas, which are outside of
             [, ] range, are filled with  color.
             
             This type allows only two-arrows control.
             
             Sample control's look:
             
             
             The  slider's type supposes the
             control's background filled with gradient startting from  color
             and ending with  color. In addition the area, which is inside of
             [, ] range, is filled with  color.
             
             This type allows only two-arrows control.
             
             Sample control's look:
             
             
             The  slider's type supposes filling areas
             outside of [, ] range with  and
             inside the range with . The  color does not
             have impact on control's look.
             
             This type allows as one-arrow, as two-arrows control.
             
             Sample control's look:
             
             
            
        
        
            
            Gradient color slider type.
            
        
        
            
            Inner gradient color slider type.
            
        
        
            
            Outer gradient color slider type.
            
        
        
            
            Threshold color slider type.
            
        
        
             
             Start color for gradient filling.
             
            
             See documentation to  enumeration for information about
             the usage of this property.
            
        
        
             
             End color for gradient filling.
             
            
             See documentation to  enumeration for information about
             the usage of this property.
            
        
        
             
             Color to fill control's background in filtered zones.
             
            
             See documentation to  enumeration for information about
             the usage of this property.
            
        
        
             
             Specifies control's type.
             
             
             See documentation to  enumeration for information about
             the usage of this property.
            
        
        
            
            Minimum selected value, [0, 255].
            
            
        
        
            
            Maximum selected value, [0, 255].
            
            
        
        
            
            Single or Double arrow slider control.
            
            
            The property specifies if the slider has one or two selection arrows (sliders).
            
            The single arrow allows only to specify one value, which is set by 
            property. The single arrow slider is useful for applications, where it is required to select
            color threshold, for example.
            
            The double arrow allows to specify two values, which are set by 
            and  properties. The double arrow slider is useful for applications, where it is
            required to select filtering color range, for example.
            
            
        
        
            
            Initializes a new instance of the  class.
            
            
        
        
            
            Dispose the object.
            
            
            Specifies if disposing was invoked by user's code.
            
        
        
            
            Arguments of histogram events.
            
        
        
            
            Initializes a new instance of the  class.
            
            
            Histogram's index under mouse pointer.
            
        
        
            
            Initializes a new instance of the  class.
            
            
            Min histogram's index in selection.
            Max histogram's index in selection.
            
        
        
            
            Min histogram's index in selection.
            
        
        
            
            Max histogram's index in selection.
            
        
        
            
            Histogram's index under mouse pointer.
            
        
        
            
            Delegate for histogram events handlers.
            
            
            Sender object.
            Event arguments.
            
        
        
            
            Histogram control.
            
            
            The control displays histograms represented with integer arrays,
            where each array's element keeps occurrence number of the corresponding element.
            
            
            Sample usage:
            
            // create array with histogram values
            int[] histogramValues = new int[] { 3, 8, 53, 57, 79, 69, ... };
            // set values to histogram control
            histogram.Values = histogramValues;
            
            
            Sample control's look:
            
            
            
        
        
            
            Histogram's color.
            
            
        
        
            
            Allow mouse selection or not.
            
            
            In the case if mouse selection is allowed, the control will
            fire  and  events
            and provide information about the selection.
            
        
        
            
            Logarithmic view or not.
            
            
            In the case if logarihmic view is selected, then the control
            will display base 10 logarithm of values.
            
            By default the property is set to false - none logarithmic view.
            
        
        
             
             Vertical view or not.
             
            
             The property determines if histogram should be displayed vertically or
             not (horizontally).
             
             By default the property is set to false - horizontal view.
            
        
        
            
            Histogram values.
            
            
            Non-negative histogram values.
            
            Histogram values should be non-negative.
            
        
        
            
            Mouse position changed event.
            
            
            The event is fired only if the  property is set
            to true. The passed to event handler  class is initialized
            with  property only, which is histogram value's
            index pointed by mouse.
            
        
        
            
            Mouse selection changed event.
            
            
            The event is fired only if the  property is set
            to true. The passed to event handler  class is initialized
            with  and  properties
            only, which represent selection range - min and max indexes.
            
        
        
            
            Initializes a new instance of the  class.
            
            
        
        
            
            Dispose the object.
            
            
            Indicates if disposing was initiated manually.
            
        
        
            
            Paint the control.
            
            
            Data for Paint event.
            
        
        
            
            The class provides simple API for enumerating available joysticks and checking their
            current status.
            
            
            The class provides simple access to joysticks (game controllers) through using
            Win32 API, which allows to enumerate available devices and query their status (state of all buttons,
            axes, etc).
            
            Sample usage:
            
            // enumerate available devices
            List<Joystick.DeviceInfo> devices = Joystick.GetAvailableDevices( );
            
            foreach ( Joystick.DeviceInfo di in devices )
            {
                System.Diagnostics.Debug.WriteLine(
                    string.Format( "{0} : {1} ({2} axes, {3} buttons)",
                        di.ID, di.Name, di.Axes, di.Buttons ) );
            }
            
            
            // create new joystick and initialize it
            Joystick joystick = new Joystick( 0 );
            // get its current status
            Joystick.Status status = joystick.GetCurrentStatus( );
            // check if 1st button is pressed
            if ( status.IsButtonPressed( Joystick.Buttons.Button1 ) )
            {
                // 1st button is pressed
            }
            
            
            
        
        
             
             Information about initialized joystick.
             
            
             The property keeps information about joystick, which was
             initialized using  method. If no joystick was initialized,
             then accessing this property will generate 
             exception.
             
             Joystick was not initialized.
            
        
        
            
            Information about joystick connected to the system.
            
            
        
        
            
            Joystick ID, [0..15].
            
        
        
            
            Joystick name.
            
        
        
            
            Number of joystick axes.
            
        
        
            
            Number of joystick buttons.
            
        
        
            
            Get list of available joysticks connected to the system.
            
            
            Returns list containing information about available joysticks connected to
            the system.
            
        
        
             
             Initializes a new instance of the  class.
             
             
             This constructor does not make initialization of any joystick
             device, so  method should be used before querying joystick
             status or properties.
            
        
        
            
            Initializes a new instance of the  class.
            
            
            Joystick ID to initialize, [0, 15].
            
            This constructor initializes joystick with specified ID using
             method, so the object becomes ready for querying joystick's
            status.
            
        
        
            
            Initialize joystick with the specified ID.
            
            
            Joystick's ID to initialize, [0, 15].
            
            
            
            Invalid joystick ID was specified. It must be in [0, 15] range.
            The requested joystick is not connected to the system.
            
        
        
             
             Get joystick's status.
             
             
             Returns current status of initialized joystick, which provides information
             about current state of all axes, buttons and point of view.
             
             Before using this method the joystick object needs to be initialized
             using  method or  constructor.
             
             The requested joystick is not connected to the system.
             Joystick was not initialized.
            
        
        
             
             Class describing current joystick's status.
             
            
             All joystick axes' positions are measured in [-1, 1] range, where
             0 corresponds to center position - axis is not deflected (directed) to any side.
            
        
        
            
            Position of X axis, [-1, 1].
            
        
        
            
            Position of Y axis, [-1, 1].
            
        
        
            
            Position of Z axis, [-1, 1].
            
        
        
            
            Position of R axis - 4th joystick's axes, [-1, 1].
            
        
        
            
            Position of U axis - 5th joystick's axes, [-1, 1].
            
        
        
            
            Position of V axis - 6th joystick's axes, [-1, 1].
            
        
        
            
            Joystick buttons' state.
            
        
        
            
            Current point of view state, [0, 359].
            
            
        
        
             
             Check if certain button (or combination of buttons) is pressed.
             
             
             Button to check state of.
             
             Returns  if the specified button is pressed or
              otherwise.
            
        
        
            
            Flags enumeration of joystick buttons.
            
        
        
            
            1st button.
            
        
        
            
            2nd button.
            
        
        
            
            3rd button.
            
        
        
            
            4th button.
            
        
        
            
            5th button.
            
        
        
            
            6th button.
            
        
        
            
            7th button.
            
        
        
            
            8th button.
            
        
        
            
            9th button.
            
        
        
            
            10th button.
            
        
        
            
            11th button.
            
        
        
            
            12th button.
            
        
        
            
            13th button.
            
        
        
            
            14th button.
            
        
        
            
            15th button.
            
        
        
            
            16th button.
            
        
        
             
             Manipulator control.
             
            
             
             The manipulator control can be used to mimic behaviour of analogue joystick using
             regular mouse. By dragging manipulator away from control's centre, it fires 
             event notifying about its X/Y coordinates (or about R/Theta coordinates in Polar coordinates system).
             
             
             For example, in robotics applications the control can be used to drive robots. If user drags manipulator
             further from centre (increasing distance between centre and manipulator), then higher power (speed) should be
             set for robot's motors. But dragging it in different directions away from centre should result in changing
             robot's direction: straight forward, backward, turning right or left, etc.
             
             
             
             Another possible application of the control is to control position of some device, etc.
             For example, the control could be used with pan-tilt camera - by dragging control away from centre,
             the camera may rotate in one of the directions.
             
             
             
            
        
        
            
            Determines if the control has square or round look.
            
            
            
            The control has a square look if the property is set to ,
            otherwise it has round look.
            
            Default value is set to .
            
            
        
        
            
            Determines if horizontal axis should be drawn or not.
            
            
            
            Default value is set to .
            
            
        
        
            
            Determines if vertical axis should be drawn or not.
            
            
            
            Default value is set to .
            
            
        
        
            
            Determines behaviour of manipulator, when mouse button is released.
            
            
            
            The property controls behaviour of manipulator on releasing mouse button. If
            the property is set to , then position of manipulator is reset
            to (0, 0), when mouse button is released. Otherwise manipulator stays on the place,
            where it was left.
            
            Default value is set to .
            
            
        
        
            
            Color used for drawing borders and axis's.
            
            
            
            Default value is set to .
            
            
        
        
            
            Background color used for filling top left quarter of the control.
            
            
            
            Default value is set to .
            
            
        
        
            
            Background color used for filling top right quarter of the control.
            
            
            
            Default value is set to .
            
            
        
        
            
            Background color used for filling bottom left quarter of the control.
            
            
            
            Default value is set to .
            
            
        
        
            
            Background color used for filling bottom right quarter of the control.
            
            
            
            Default value is set to .
            
            
        
        
            
            Color used for filling manipulator.
            
            
            
            Default value is set to .
            
            
        
        
             
             Class, which summarizes arguments of manipulator's position change event.
             
            
             Properties of this class allow to get:
             
             - X/Y coordinates of manipulator in
             Cartesian coordinate system,
             where X axis is directed from center of the control to the right and Y axis is directed from
             center to the top. Both coordinates are measured in [-1, 1] range.
 
             - Theta and R coordinates of manipulator in
             Polar coordinate system.
 
             
             
            
        
        
            
            X coordinate of manipulator, [-1, 1].
            
        
        
            
            Y coordinate of manipulator, [-1, 1].
            
        
        
            
            Theta coordinate of manipulator in Polar coordinate system, [0, 359].
            
        
        
            
            R (radius) coordinate of manipulator in Polar coordinate system, [0, 1].
            
        
        
            
            Initializes a new instance of the  class.
            
            
            X coordinate of manipulator, [-1, 1].
            Y coordinate of manipulator, [-1, 1].
            
        
        
            
            Current manipulator's position.
            
            
            The property equals to current manipulator's position. Both X and Y values
            are in the [-1, 1] range and represented in
            Cartesian coordinate system.
            
            
        
        
            
            Delegate used for notification about manipulator's position changes.
            
            
            Event sender - object sending the event.
            Event arguments - current manipulator's position.
            
        
        
            
            Event used for notification about manipulator's position changes.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
             
            Clean up any resources being used.
            
            
            true if managed resources should be disposed; otherwise, false.
        
        
             
            Required method for Designer support - do not modify 
            the contents of this method with the code editor.
            
        
        
            
            Picture box control for displaying an image.
            
            
            This control is inherited from System.Windows.Forms.PictureBox and is
            aimed to resolve one of its issues - inability to display images with high color depth,
            like 16 bpp grayscale, 48 bpp and 64 bpp color images. .NET framework does not handle
            16 bpp grayscale images at all, throwing exception when user tries to display them. Color
            images with 48 bpp and 64 bpp are "kind of" supported, but only maximum of 13 bits for each
            color plane are allowed. Therefore this control is created, which allows to display as
            16 bpp grayscale images, as 48 bpp and 64 bpp color images.
            
            To display high color depth images, the control does internal conversion of them
            to lower color depth images - 8 bpp grayscale, 24 bpp and 32 bpp color images respectively. In
            the case source image already has low color depth, it is displayed without any conversions.
            
            
            
        
        
            
            Gets or sets the image that the PictureBox displays.
            
            
            The property is used to set image to be displayed or to get currently
            displayed image.
            
            In the case if source image has high color depth, like 16 bpp grayscale image,
            48 bpp or 64 bpp color image, it is converted to lower color depth before displaying -
            to 8 bpp grayscale, 24 bpp or 32 bpp color image respectively.
            
            During color conversion the original source image is kept unmodified, but internal
            converted copy is created. The property always returns original source image.
            
            
        
        
            
            Video source player control.
            
            
            The control is aimed to play video sources, which implement
             interface. To start playing a video
            the  property should be initialized first and then
             method should be called. In the case if user needs to
            perform some sort of image processing with video frames before they are displayed,
            the  event may be used.
            
            Sample usage:
            
            // set new frame event handler if we need processing of new frames
            playerControl.NewFrame += new VideoSourcePlayer.NewFrameHandler( this.playerControl_NewFrame );
            
            // create video source
            IVideoSource videoSource = new ...
            // start playing it
            playerControl.VideoSource = videoSource;
            playerControl.Start( );
            ...
            
            // new frame event handler
            private void playerControl_NewFrame( object sender, ref Bitmap image )
            {
                // process new frame somehow ...
                
                // Note: it may be even changed, so the control will display the result
                // of image processing done here
            }
            
            
            
        
        
            
            Auto size control or not.
            
            
            The property specifies if the control should be autosized or not.
            If the property is set to , then the control will change its size according to
            video size and control will change its position automatically to be in the center
            of parent's control.
            
            Setting the property to  has no effect if
             property is set to .
            
            
        
        
            
            Gets or sets whether the player should keep the aspect ratio of the images being shown.
            
            
        
        
            
            Control's border color.
            
            
            Specifies color of the border drawn around video frame.
            
        
        
            
            Video source to play.
            
            
            The property sets the video source to play. After setting the property the
             method should be used to start playing the video source.
            
            Trying to change video source while currently set video source is still playing
            will generate an exception. Use  property to check if current video
            source is still playing or  or  and 
            methods to stop current video source.
            
            
            Video source can not be changed while current video source is still running.
            
        
        
            
            State of the current video source.
            
            
            Current state of the current video source object - running or not.
            
        
        
            
            Delegate to notify about new frame.
            
            
            Event sender.
            New frame.
            
        
        
            
            New frame event.
            
            
            The event is fired on each new frame received from video source. The
            event is fired right after receiving and before displaying, what gives user a chance to
            perform some image processing on the new frame and/or update it.
            
            Users should not keep references of the passed to the event handler image.
            If user needs to keep the image, it should be cloned, since the original image will be disposed
            by the control when it is required.
            
            
        
        
            
            Playing finished event.
            
            
            The event is fired when/if video playing finishes. The reason of video
            stopping is provided as an argument to the event handler.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Start video source and displaying its frames.
            
        
        
            
            Stop video source.
            
            
            The method stops video source by calling its 
            method, which abourts internal video source's thread. Use  and
             for more polite video source stopping, which gives a chance for
            video source to perform proper shut down and clean up.
            
            
        
        
            
            Signal video source to stop. 
            
            
            Use  method to wait until video source
            stops.
            
        
        
            
            Wait for video source has stopped. 
            
            
            Waits for video source stopping after it was signaled to stop using
             method. If  was not called, then
            it will be called automatically.
            
        
        
            
            Get clone of current video frame displayed by the control.
            
            
            Returns copy of the video frame, which is currently displayed
            by the control - the last video frame received from video source. If the
            control did not receive any video frames yet, then the method returns
            .
            
        
        
             
            Required designer variable.
            
        
        
             
            Clean up any resources being used.
            
            true if managed resources should be disposed; otherwise, false.
        
        
             
            Required method for Designer support - do not modify 
            the contents of this method with the code editor.