File: MyImageList.h

package info (click to toggle)
lynkeos.app 1.2-6
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 3,924 kB
  • sloc: objc: 7,122; ansic: 695; sh: 372; makefile: 59
file content (97 lines) | stat: -rw-r--r-- 2,590 bytes parent folder | download | duplicates (6)
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