Skip to content

Commit 7ed80be

Browse files
committed
Remove macOS only uses of scale factor
1 parent 0c67608 commit 7ed80be

File tree

12 files changed

+9
-106
lines changed

12 files changed

+9
-106
lines changed

packages/react-native/Libraries/Image/RCTImageView.mm

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,14 @@ static BOOL RCTShouldReloadImageForSizeChange(CGSize currentSize, CGSize idealSi
6565
scale = scaleX;
6666
}
6767

68-
NSSize newSize = NSMakeSize(RCTRoundPixelValue(originalImageSize.width * scale, windowScale),
69-
RCTRoundPixelValue(originalImageSize.height * scale, windowScale));
68+
NSSize newSize = NSMakeSize(RCTRoundPixelValue(originalImageSize.width * scale),
69+
RCTRoundPixelValue(originalImageSize.height * scale));
7070
NSImage *newImage = [[NSImage alloc] initWithSize:newSize];
7171

7272
for (NSImageRep *imageRep in [originalImage representations]) {
7373
NSImageRep *newImageRep = [imageRep copy];
74-
NSSize newImageRepSize = NSMakeSize(RCTRoundPixelValue(imageRep.size.width * scale, windowScale),
75-
RCTRoundPixelValue(imageRep.size.height * scale, windowScale));
74+
NSSize newImageRepSize = NSMakeSize(RCTRoundPixelValue(imageRep.size.width * scale),
75+
RCTRoundPixelValue(imageRep.size.height * scale));
7676

7777
newImageRep.size = newImageRepSize;
7878

packages/react-native/Libraries/Text/Text/RCTTextShadowView.mm

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -310,19 +310,10 @@ - (void)layoutSubviewsWithContext:(RCTLayoutContext)layoutContext
310310
UIFont *font = [textStorage attribute:NSFontAttributeName atIndex:range.location effectiveRange:nil];
311311

312312
CGRect frame = {
313-
#if !TARGET_OS_OSX // [macOS]
314313
{RCTRoundPixelValue(glyphRect.origin.x),
315314
RCTRoundPixelValue(
316315
glyphRect.origin.y + glyphRect.size.height - attachmentSize.height + font.descender)},
317-
#else // [macOS
318-
{RCTRoundPixelValue(glyphRect.origin.x, [self scale]),
319-
RCTRoundPixelValue(glyphRect.origin.y + glyphRect.size.height - attachmentSize.height + font.descender, [self scale])},
320-
#endif // macOS]
321-
#if !TARGET_OS_OSX // [macOS]
322316
{RCTRoundPixelValue(attachmentSize.width), RCTRoundPixelValue(attachmentSize.height)}};
323-
#else // [macOS
324-
{RCTRoundPixelValue(attachmentSize.width, [self scale]), RCTRoundPixelValue(attachmentSize.height, [self scale])}};
325-
#endif // macOS]
326317

327318
NSRange truncatedGlyphRange =
328319
[layoutManager truncatedGlyphRangeInLineFragmentForGlyphAtIndex:range.location];
@@ -427,12 +418,7 @@ static YGSize RCTTextShadowViewMeasure(
427418
}
428419

429420
size = (CGSize){
430-
#if !TARGET_OS_OSX // [macOS]
431421
MIN(RCTCeilPixelValue(size.width), maximumSize.width), MIN(RCTCeilPixelValue(size.height), maximumSize.height)};
432-
#else // [macOS
433-
MIN(RCTCeilPixelValue(size.width, shadowTextView.scale), maximumSize.width),
434-
MIN(RCTCeilPixelValue(size.height, shadowTextView.scale), maximumSize.height)};
435-
#endif // macOS]
436422

437423
// Adding epsilon value illuminates problems with converting values from
438424
// `double` to `float`, and then rounding them to pixel grid in Yoga.

packages/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.mm

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,6 @@ - (CGSize)placeholderSize
460460
UIEdgeInsets textContainerInset = self.textContainerInsets;
461461
#endif // macOS]
462462
NSString *placeholder = self.placeholder ?: @"";
463-
#if !TARGET_OS_OSX // [macOS]
464463
CGSize maxPlaceholderSize =
465464
CGSizeMake(UIEdgeInsetsInsetRect(self.bounds, textContainerInset).size.width, CGFLOAT_MAX);
466465
CGSize placeholderSize = [placeholder boundingRectWithSize:maxPlaceholderSize
@@ -469,11 +468,6 @@ - (CGSize)placeholderSize
469468
context:nil]
470469
.size;
471470
placeholderSize = CGSizeMake(RCTCeilPixelValue(placeholderSize.width), RCTCeilPixelValue(placeholderSize.height));
472-
#else // [macOS
473-
CGFloat scale = _pointScaleFactor ?: self.window.backingScaleFactor;
474-
CGSize placeholderSize = [placeholder sizeWithAttributes:[self _placeholderTextAttributes]];
475-
placeholderSize = CGSizeMake(RCTCeilPixelValue(placeholderSize.width, scale), RCTCeilPixelValue(placeholderSize.height, scale));
476-
#endif // macOS]
477471
placeholderSize.width += textContainerInset.left + textContainerInset.right;
478472
placeholderSize.height += textContainerInset.top + textContainerInset.bottom;
479473
// Returning size DOES contain `textContainerInset` (aka `padding`; as `sizeThatFits:` does).

packages/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -296,13 +296,8 @@ - (CGSize)sizeThatFitsMinimumSize:(CGSize)minimumSize maximumSize:(CGSize)maximu
296296
CGSize size = [_layoutManager usedRectForTextContainer:_textContainer].size;
297297

298298
return (CGSize){
299-
#if !TARGET_OS_OSX // [macOS]
300299
MAX(minimumSize.width, MIN(RCTCeilPixelValue(size.width), maximumSize.width)),
301300
MAX(minimumSize.height, MIN(RCTCeilPixelValue(size.height), maximumSize.height))};
302-
#else // [macOS
303-
MAX(minimumSize.width, MIN(RCTCeilPixelValue(size.width, [self scale]), maximumSize.width)),
304-
MAX(minimumSize.height, MIN(RCTCeilPixelValue(size.height, [self scale]), maximumSize.height))};
305-
#endif // macOS]
306301
}
307302

308303
- (CGFloat)lastBaselineForSize:(CGSize)size

packages/react-native/Libraries/Text/TextInput/Singleline/RCTUITextField.mm

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -619,20 +619,8 @@ - (CGSize)intrinsicContentSize
619619
{
620620
// Note: `placeholder` defines intrinsic size for `<TextInput>`.
621621
NSString *text = self.placeholder ?: @"";
622-
#if !TARGET_OS_OSX // [macOS]
623622
CGSize size = [text sizeWithAttributes:[self _placeholderTextAttributes]];
624623
size = CGSizeMake(RCTCeilPixelValue(size.width), RCTCeilPixelValue(size.height));
625-
#else // [macOS
626-
CGSize size = [text sizeWithAttributes:@{NSFontAttributeName: self.font}];
627-
CGFloat scale = _pointScaleFactor ?: self.window.backingScaleFactor;
628-
if (scale == 0.0 && RCTRunningInTestEnvironment()) {
629-
// When running in the test environment the view is not on screen.
630-
// Use a scaleFactor of 1 so that the test results are machine independent.
631-
scale = 1;
632-
}
633-
RCTAssert(scale != 0.0, @"Layout occurs before the view is in a window?");
634-
size = CGSizeMake(RCTCeilPixelValue(size.width, scale), RCTCeilPixelValue(size.height, scale));
635-
#endif // macOS]
636624
size.width += _textContainerInset.left + _textContainerInset.right;
637625
size.height += _textContainerInset.top + _textContainerInset.bottom;
638626
// Returning size DOES contain `textContainerInset` (aka `padding`).

packages/react-native/React/Base/RCTUtils.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,9 @@ RCT_EXTERN CGSize RCTScreenSize(void);
5454
RCT_EXTERN CGSize RCTViewportSize(void);
5555

5656
// Round float coordinates to nearest whole screen pixel (not point)
57-
#if !TARGET_OS_OSX // [macOS]
5857
RCT_EXTERN CGFloat RCTRoundPixelValue(CGFloat value);
5958
RCT_EXTERN CGFloat RCTCeilPixelValue(CGFloat value);
6059
RCT_EXTERN CGFloat RCTFloorPixelValue(CGFloat value);
61-
#else // [macOS
62-
RCT_EXTERN CGFloat RCTRoundPixelValue(CGFloat value, CGFloat scale);
63-
RCT_EXTERN CGFloat RCTCeilPixelValue(CGFloat value, CGFloat scale);
64-
RCT_EXTERN CGFloat RCTFloorPixelValue(CGFloat value, CGFloat scale);
65-
#endif // macOS]
6660

6761
// Convert a size in points to pixels, rounded up to the nearest integral size
6862
RCT_EXTERN CGSize RCTSizeInPixels(CGSize pointSize, CGFloat scale);

packages/react-native/React/Base/RCTUtils.m

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ CGSize RCTScreenSize(void)
377377
return size;
378378
}
379379
#else // [macOS
380-
CGFloat RCTScreenScale()
380+
CGFloat RCTScreenScale(void)
381381
{
382382
return [NSScreen mainScreen].backingScaleFactor;
383383
}
@@ -402,7 +402,6 @@ CGSize RCTViewportSize(void)
402402
#endif // macOS]
403403
}
404404

405-
#if !TARGET_OS_OSX // [macOS]
406405
CGFloat RCTRoundPixelValue(CGFloat value)
407406
{
408407
CGFloat scale = RCTScreenScale();
@@ -420,22 +419,6 @@ CGFloat RCTFloorPixelValue(CGFloat value)
420419
CGFloat scale = RCTScreenScale();
421420
return floor(value * scale) / scale;
422421
}
423-
#else // [macOS
424-
CGFloat RCTRoundPixelValue(CGFloat value, CGFloat scale)
425-
{
426-
return round(value * scale) / scale;
427-
}
428-
429-
CGFloat RCTCeilPixelValue(CGFloat value, CGFloat scale)
430-
{
431-
return ceil(value * scale) / scale;
432-
}
433-
434-
CGFloat RCTFloorPixelValue(CGFloat value, CGFloat scale)
435-
{
436-
return floor(value * scale) / scale;
437-
}
438-
#endif // macOS]
439422

440423
CGSize RCTSizeInPixels(CGSize pointSize, CGFloat scale)
441424
{

packages/react-native/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,10 @@ - (void)_updateStateIfNecessary
5454

5555
UIEdgeInsets insets = [self _safeAreaInsets];
5656
CGFloat scale = _layoutMetrics.pointScaleFactor; // [macOS]
57-
#if !TARGET_OS_OSX // [macOS]
5857
insets.left = RCTRoundPixelValue(insets.left);
5958
insets.top = RCTRoundPixelValue(insets.top);
6059
insets.right = RCTRoundPixelValue(insets.right);
6160
insets.bottom = RCTRoundPixelValue(insets.bottom);
62-
#else // [macOS
63-
insets.left = RCTRoundPixelValue(insets.left, scale);
64-
insets.top = RCTRoundPixelValue(insets.top, scale);
65-
insets.right = RCTRoundPixelValue(insets.right, scale);
66-
insets.bottom = RCTRoundPixelValue(insets.bottom, scale);
67-
#endif // macOS]
6861

6962
auto newPadding = RCTEdgeInsetsFromUIEdgeInsets(insets);
7063
auto threshold = 1.0 / scale + 0.01; // Size of a pixel plus some small threshold. [macOS]

packages/react-native/React/Views/RCTBorderDrawing.m

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -52,21 +52,12 @@ RCTCornerInsets RCTGetCornerInsets(RCTCornerRadii cornerRadii, UIEdgeInsets edge
5252
}};
5353
}
5454

55-
static UIEdgeInsets RCTRoundInsetsToPixel(
56-
UIEdgeInsets edgeInsets,
57-
CGFloat scaleFactor // [macOS]
58-
) {
59-
#if !TARGET_OS_OSX // [macOS]
55+
static UIEdgeInsets RCTRoundInsetsToPixel(UIEdgeInsets edgeInsets)
56+
{
6057
edgeInsets.top = RCTRoundPixelValue(edgeInsets.top);
6158
edgeInsets.bottom = RCTRoundPixelValue(edgeInsets.bottom);
6259
edgeInsets.left = RCTRoundPixelValue(edgeInsets.left);
6360
edgeInsets.right = RCTRoundPixelValue(edgeInsets.right);
64-
#else // [macOS
65-
edgeInsets.top = RCTRoundPixelValue(edgeInsets.top, scaleFactor);
66-
edgeInsets.bottom = RCTRoundPixelValue(edgeInsets.bottom, scaleFactor);
67-
edgeInsets.left = RCTRoundPixelValue(edgeInsets.left, scaleFactor);
68-
edgeInsets.right = RCTRoundPixelValue(edgeInsets.right, scaleFactor);
69-
#endif // macOS]
7061
return edgeInsets;
7162
}
7263

@@ -217,7 +208,7 @@ static CGPathRef RCTPathCreateOuterOutline(BOOL drawToEdge, CGRect rect, RCTCorn
217208
// Incorrect render for borders that are not proportional to device pixel: borders get stretched and become
218209
// significantly bigger than expected.
219210
// Rdar: http://www.openradar.me/15959788
220-
borderInsets = RCTRoundInsetsToPixel(borderInsets, scaleFactor); // [macOS]
211+
borderInsets = RCTRoundInsetsToPixel(borderInsets);
221212

222213
const BOOL makeStretchable =
223214
(borderInsets.left + cornerInsets.topLeft.width + borderInsets.right + cornerInsets.bottomRight.width <=

packages/react-native/React/Views/RCTShadowView.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,6 @@ typedef void (^RCTApplierBlock)(NSDictionary<NSNumber *, RCTPlatformView *> *vie
5151
@property (nonatomic, assign, readonly) YGNodeRef yogaNode;
5252
@property (nonatomic, copy) NSString *viewName;
5353
@property (nonatomic, copy) RCTDirectEventBlock onLayout;
54-
#if TARGET_OS_OSX // [macOS
55-
@property (nonatomic) CGFloat scale;
56-
#endif // macOS]
5754

5855
/**
5956
* Computed layout of the view.

0 commit comments

Comments
 (0)