passing streamViewBounds
This commit is contained in:
1 parent
bd83af8bf4
commit
94f2e39367
7 files changed
+20
-9
No files matched your search
@@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@interface OSCProfilesManager : NSObject
|
@interface OSCProfilesManager : NSObject
|
||||||
|
|
||||||
|
|
||||||
+ (OSCProfilesManager *) sharedManager;
|
+ (OSCProfilesManager *) sharedManager:(CGRect)viewBounds;
|
||||||
+ (void) setOnScreenWidgetViewsSet:(NSMutableSet* )set;
|
+ (void) setOnScreenWidgetViewsSet:(NSMutableSet* )set;
|
||||||
|
|
||||||
#pragma mark - Getters
|
#pragma mark - Getters
|
||||||
|
|||||||
@@ -15,13 +15,15 @@
|
|||||||
@implementation OSCProfilesManager
|
@implementation OSCProfilesManager
|
||||||
|
|
||||||
static NSMutableSet *OnScreenWidgetViews;
|
static NSMutableSet *OnScreenWidgetViews;
|
||||||
|
static CGRect streamViewBounds;
|
||||||
|
|
||||||
#pragma mark - Initializer
|
#pragma mark - Initializer
|
||||||
|
|
||||||
+ (OSCProfilesManager *) sharedManager {
|
+ (OSCProfilesManager *) sharedManager:(CGRect)viewBounds {
|
||||||
static OSCProfilesManager *_sharedManager = nil;
|
static OSCProfilesManager *_sharedManager = nil;
|
||||||
static dispatch_once_t onceToken;
|
static dispatch_once_t onceToken;
|
||||||
|
streamViewBounds = viewBounds;
|
||||||
|
NSLog(@"bounds width: %f, height: %f", streamViewBounds.size.width, streamViewBounds.size.height);
|
||||||
dispatch_once(&onceToken, ^{
|
dispatch_once(&onceToken, ^{
|
||||||
_sharedManager = [[self alloc] init];
|
_sharedManager = [[self alloc] init];
|
||||||
});
|
});
|
||||||
@@ -251,6 +253,13 @@ static NSMutableSet *OnScreenWidgetViews;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (CGPoint)normalizeWidgetPosition:(CGPoint)position {
|
||||||
|
if(position.x > 1.0 && position.y >1.0){
|
||||||
|
position.x = position.x / streamViewBounds.size.width;
|
||||||
|
position.y = position.y / streamViewBounds.size.height;
|
||||||
|
}
|
||||||
|
return position;
|
||||||
|
}
|
||||||
|
|
||||||
- (NSMutableArray* ) convertOnScreenControllerAndButtonsToButtonStates:(NSMutableArray *) oscButtonLayers {
|
- (NSMutableArray* ) convertOnScreenControllerAndButtonsToButtonStates:(NSMutableArray *) oscButtonLayers {
|
||||||
/* iterate through each OSC button the user sees on screen, create an 'OnScreenButtonState' object from each button, encode each object, and then add each object to an array */
|
/* iterate through each OSC button the user sees on screen, create an 'OnScreenButtonState' object from each button, encode each object, and then add each object to an array */
|
||||||
@@ -275,7 +284,7 @@ static NSMutableSet *OnScreenWidgetViews;
|
|||||||
// save on-screen game controller buttons & sticks as buttonstate:
|
// save on-screen game controller buttons & sticks as buttonstate:
|
||||||
for (CALayer *oscButtonLayer in oscButtonLayers) {
|
for (CALayer *oscButtonLayer in oscButtonLayers) {
|
||||||
|
|
||||||
OnScreenButtonState *buttonState = [[OnScreenButtonState alloc] initWithButtonName:oscButtonLayer.name buttonType:LegacyOscButton andPosition:oscButtonLayer.position];
|
OnScreenButtonState *buttonState = [[OnScreenButtonState alloc] initWithButtonName:oscButtonLayer.name buttonType:LegacyOscButton andPosition:[self normalizeWidgetPosition:oscButtonLayer.position]];
|
||||||
// add hidden attr here
|
// add hidden attr here
|
||||||
buttonState.isHidden = oscButtonLayer.isHidden;
|
buttonState.isHidden = oscButtonLayer.isHidden;
|
||||||
buttonState.oscLayerSizeFactor = [OnScreenControls getControllerLayerSizeFactor:oscButtonLayer];
|
buttonState.oscLayerSizeFactor = [OnScreenControls getControllerLayerSizeFactor:oscButtonLayer];
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ static float L3_Y;
|
|||||||
self.isLayingOut = false; // set false by default (play mode instead of layout mode)
|
self.isLayingOut = false; // set false by default (play mode instead of layout mode)
|
||||||
_view = view;
|
_view = view;
|
||||||
|
|
||||||
profilesManager = [OSCProfilesManager sharedManager];
|
profilesManager = [OSCProfilesManager sharedManager:view.bounds];
|
||||||
|
|
||||||
self.OSCButtonLayers = [[NSMutableArray alloc] init];
|
self.OSCButtonLayers = [[NSMutableArray alloc] init];
|
||||||
|
|
||||||
|
|||||||
@@ -387,7 +387,7 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5;
|
|||||||
|
|
||||||
if(![self isOnScreenButtonEnabled]) return;
|
if(![self isOnScreenButtonEnabled]) return;
|
||||||
|
|
||||||
OSCProfilesManager* profilesManager = [OSCProfilesManager sharedManager];
|
OSCProfilesManager* profilesManager = [OSCProfilesManager sharedManager: self.bounds];
|
||||||
OSCProfile *oscProfile = [profilesManager getSelectedProfile]; //returns the currently selected OSCProfile
|
OSCProfile *oscProfile = [profilesManager getSelectedProfile]; //returns the currently selected OSCProfile
|
||||||
|
|
||||||
if(!OnScreenWidgetView.editMode){ // in edit mode, keyboard widget view will be updated within layoutool view controller.
|
if(!OnScreenWidgetView.editMode){ // in edit mode, keyboard widget view will be updated within layoutool view controller.
|
||||||
|
|||||||
+3
-2
@@ -112,7 +112,7 @@
|
|||||||
|
|
||||||
- (void) viewDidLoad {
|
- (void) viewDidLoad {
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
profilesManager = [OSCProfilesManager sharedManager];
|
profilesManager = [OSCProfilesManager sharedManager:self.view.bounds];
|
||||||
self.OnScreenWidgetViews = [[NSMutableSet alloc] init]; // will be revised to read persisted data , somewhere else
|
self.OnScreenWidgetViews = [[NSMutableSet alloc] init]; // will be revised to read persisted data , somewhere else
|
||||||
[OSCProfilesManager setOnScreenWidgetViewsSet:self.OnScreenWidgetViews]; // pass the keyboard button dict to profiles manager
|
[OSCProfilesManager setOnScreenWidgetViewsSet:self.OnScreenWidgetViews]; // pass the keyboard button dict to profiles manager
|
||||||
|
|
||||||
@@ -811,7 +811,8 @@
|
|||||||
storyboard = [UIStoryboard storyboardWithName:@"iPad" bundle:nil];
|
storyboard = [UIStoryboard storyboardWithName:@"iPad" bundle:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
_oscProfilesTableViewController = [storyboard instantiateViewControllerWithIdentifier:@"OSCProfilesTableViewController"] ;
|
_oscProfilesTableViewController = [storyboard instantiateViewControllerWithIdentifier:@"OSCProfilesTableViewController"];
|
||||||
|
_oscProfilesTableViewController.streamViewBounds = self.view.bounds;
|
||||||
|
|
||||||
_oscProfilesTableViewController.needToUpdateOscLayoutTVC = ^() { // a block that will be called when the modally presented 'OSCProfilesTableViewController' VC is dismissed. By the time the 'OSCProfilesTableViewController' VC is dismissed the user would have potentially selected a different OSC ofile with a different layout and they want to see this layout on this 'LayoutOnScreenControlsViewController.' This block of code will load the profile and then hide/show and move each OSC button to their appropriate position
|
_oscProfilesTableViewController.needToUpdateOscLayoutTVC = ^() { // a block that will be called when the modally presented 'OSCProfilesTableViewController' VC is dismissed. By the time the 'OSCProfilesTableViewController' VC is dismissed the user would have potentially selected a different OSC ofile with a different layout and they want to see this layout on this 'LayoutOnScreenControlsViewController.' This block of code will load the profile and then hide/show and move each OSC button to their appropriate position
|
||||||
[self.layoutOSC updateControls]; // creates and saves a 'Default' OSC profile or loads the one the user selected on the previous screen
|
[self.layoutOSC updateControls]; // creates and saves a 'Default' OSC profile or loads the one the user selected on the previous screen
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (weak, nonatomic) IBOutlet UITableView *tableView;
|
@property (weak, nonatomic) IBOutlet UITableView *tableView;
|
||||||
@property (nonatomic, copy) void (^needToUpdateOscLayoutTVC)(void);
|
@property (nonatomic, copy) void (^needToUpdateOscLayoutTVC)(void);
|
||||||
@property (nonatomic, assign) NSMutableArray *currentOSCButtonLayers;
|
@property (nonatomic, assign) NSMutableArray *currentOSCButtonLayers;
|
||||||
|
@property (nonatomic, assign) CGRect streamViewBounds;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ const double NAV_BAR_HEIGHT = 50;
|
|||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
|
|
||||||
|
|
||||||
profilesManager = [OSCProfilesManager sharedManager];
|
profilesManager = [OSCProfilesManager sharedManager:_streamViewBounds];
|
||||||
|
|
||||||
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, NAV_BAR_HEIGHT)];
|
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, NAV_BAR_HEIGHT)];
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user