SameBoy | Accurate GB/GBC emulator |
| download: https://git.y1.nz/archives/sameboy.tar.gz | |
| README | Files | Log | Refs | LICENSE |
HexFiend/HFRepresenter.m
1 //
2 // HFRepresenter.m
3 // HexFiend_2
4 //
5 // Copyright 2007 ridiculous_fish. All rights reserved.
6 //
7
8 #import "HFRepresenter.h"
9
10 @implementation HFRepresenter
11
12 - (id)view {
13 if (! view) {
14 view = [self createView];
15 [self initializeView];
16 }
17 return view;
18 }
19
20 - (BOOL)isViewLoaded {
21 return !! view;
22 }
23
24 - (void)initializeView {
25
26 }
27
28 - (instancetype)init {
29 self = [super init];
30 [self setLayoutPosition:[[self class] defaultLayoutPosition]];
31 return self;
32 }
33
34 - (void)dealloc {
35 [view release];
36 [super dealloc];
37 }
38
39 - (void)encodeWithCoder:(NSCoder *)coder {
40 HFASSERT([coder allowsKeyedCoding]);
41 [coder encodeObject:controller forKey:@"HFController"];
42 [coder encodePoint:layoutPosition forKey:@"HFLayoutPosition"];
43 [coder encodeObject:view forKey:@"HFRepresenterView"];
44 }
45
46 - (instancetype)initWithCoder:(NSCoder *)coder {
47 HFASSERT([coder allowsKeyedCoding]);
48 self = [super init];
49 layoutPosition = [coder decodePointForKey:@"HFLayoutPosition"];
50 controller = [coder decodeObjectForKey:@"HFController"]; // not retained
51 view = [[coder decodeObjectForKey:@"HFRepresenterView"] retain];
52 return self;
53 }
54
55 - (NSView *)createView {
56 UNIMPLEMENTED();
57 }
58
59 - (HFController *)controller {
60 return controller;
61 }
62
63 - (void)_setController:(HFController *)val {
64 controller = val;
65 }
66
67 - (void)controllerDidChange:(HFControllerPropertyBits)bits {
68 USE(bits);
69 }
70
71 - (NSUInteger)bytesPerLine {
72 HFASSERT([self controller] != nil);
73 return [[self controller] bytesPerLine];
74 }
75
76 - (NSUInteger)bytesPerColumn {
77 HFASSERT([self controller] != nil);
78 return [[self controller] bytesPerColumn];
79 }
80
81 - (NSUInteger)maximumBytesPerLineForViewWidth:(CGFloat)viewWidth {
82 USE(viewWidth);
83 return NSUIntegerMax;
84 }
85
86 - (CGFloat)minimumViewWidthForBytesPerLine:(NSUInteger)bytesPerLine {
87 USE(bytesPerLine);
88 return 0;
89 }
90
91 - (NSUInteger)byteGranularity {
92 return 1;
93 }
94
95 - (double)maximumAvailableLinesForViewHeight:(CGFloat)viewHeight {
96 USE(viewHeight);
97 return DBL_MAX;
98 }
99
100 - (void)selectAll:sender {
101 [[self controller] selectAll:sender];
102 }
103
104 - (void)representerChangedProperties:(HFControllerPropertyBits)properties {
105 [[self controller] representer:self changedProperties:properties];
106 }
107
108 - (void)setLayoutPosition:(NSPoint)position {
109 layoutPosition = position;
110 }
111
112 - (NSPoint)layoutPosition {
113 return layoutPosition;
114 }
115
116 + (NSPoint)defaultLayoutPosition {
117 return NSMakePoint(0, 0);
118 }
119
120 @end
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.