1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
//
// Lynkeos
// $Id: MyImageList.h,v 1.8 2005/01/27 23:05:28 j-etienne Exp $
//
// Created by Jean-Etienne LAMIAUD on Wed Sep 24 2003.
// Copyright (c) 2003-2005. Jean-Etienne LAMIAUD
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
#ifndef __MYIMAGELIST_H
#define __MYIMAGELIST_H
#ifdef GNUSTEP
#else
#import <Cocoa/Cocoa.h>
#endif
#include "processing_core.h"
#include "MyImageListItem.h"
#include "MyImageListEnumerator.h"
/*!
* @class MyImageList
* @abstract Base model of a list of images to process
* @discussion The images in the list share a common goal (dark frame, flat
* field or object images.
* @ingroup Models
*/
@interface MyImageList : NSObject <NSCoding>
{
@private
// List
NSMutableArray* _list;
// Stack data
RGB* _rawStack;
u_long _stackSize;
double _blackLevel, _whiteLevel;
}
/// \name Read accessors
//@{
// List
- (NSMutableArray*) imageArray ;
- (MyImageListItem*) firstItem ;
- (MyImageListItem*) lastItem ;
- (MyImageListEnumerator*) imageEnumerator ;
- (MyImageListEnumerator*) imageEnumeratorStartAt:(id)item
directSense:(BOOL)direct;
// Stack data
- (RGB*) stack;
- (u_long) stackSize; //!< Stack size in bytes
- (REAL) blackLevel;
- (REAL) whiteLevel;
- (BOOL) validLevels ; //!< Were levels set by the user ?
//@}
/// \name Write accessors
/// Returns YES if object was changed
//@{
// Stack data
- (BOOL) setStack :(RGB*)stack size:(u_long)size ;
- (BOOL) setBlackLevel :(REAL)black whiteLevel:(REAL)white ;
- (BOOL) invalidateLevels ;
//@}
/// \name Actions
//@{
// List data
- (BOOL) addItem :(MyImageListItem*)item ;
- (BOOL) deleteItem :(MyImageListItem*)item ;
- (BOOL) changeItemSelection :(MyImageListItem*)item value:(BOOL)v ;
//@}
/// \name Initializers and constructors
//@{
- (id) initWithArray :(NSArray*)list ;
+ (id) imageListWithArray :(NSArray*)list ;
//@}
@end
#endif
|