Skip to content

Commit 02a7c29

Browse files
committed
Merge remote-tracking branch 'upstream/develop-6.7' into merge-develop-6.7_12.01.2015
Conflicts: engine/src/player-platform.cpp engine/src/player-platform.h ide prebuilt thirdparty
2 parents 3eb5901 + a3b67da commit 02a7c29

17 files changed

Lines changed: 79 additions & 19 deletions

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ WINE ?= wine
2424

2525
# Some magic to control which versions of iOS we try to build. N.b. you may
2626
# also need to modify the buildbot configuration
27-
IPHONEOS_VERSIONS ?= 8.2 8.4 9.1
28-
IPHONESIMULATOR_VERSIONS ?= 5.1 6.1 7.1 8.2 8.4 9.1
27+
IPHONEOS_VERSIONS ?= 8.2 8.4 9.2
28+
IPHONESIMULATOR_VERSIONS ?= 5.1 6.1 7.1 8.2 8.4 9.2
2929

3030
IOS_SDKS ?= \
3131
$(addprefix iphoneos,$(IPHONEOS_VERSIONS)) \

docs/dictionary/control_st/after.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
</security>
4747
<summary>Defines a <glossary tag="message handler">message handler</glossary>.</summary>
4848
<examples>
49-
<example>after mouseUp</p><p> answer "after mouse up received"</p><p>end resizeStack</example>
49+
<example>after mouseUp</p><p> answer "after mouse up received"</p><p>end mouseUp</example>
5050
</examples>
5151
<description>
5252
<p>The <b>after</b> handler is exclusive to behavior scripts and is sent to a behavior script after all messages.</p><p/>

docs/dictionary/control_st/before.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
</security>
4747
<summary>Defines a <glossary tag="message handler">message handler</glossary>.</summary>
4848
<examples>
49-
<example>before mouseUp</p><p> answer "before mouse up received"</p><p>end resizeStack</example>
49+
<example>before mouseUp</p><p> answer "before mouse up received"</p><p>end mouseUp</example>
5050
</examples>
5151
<description>
5252
<p>The <b>before</b> handler is exclusive to behavior scripts and is sent to a behavior script before all messages.</p><p/>

docs/notes/bugfix-13277.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# scalefactor doesn't change player size in browse mode

docs/notes/bugfix-15706.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Mac - Icons to display on ask and answer dialogs - not showing

docs/notes/bugfix-16661.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Dict: "before" and "after" have bad examples

engine/src/mac-av-player.mm

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ static CVReturn MyDisplayLinkCallback (CVDisplayLinkRef displayLink,
127127
uint32_t m_selection_start, m_selection_finish;
128128
uint32_t m_selection_duration;
129129
uint32_t m_buffered_time;
130+
double m_scale;
130131
CMTimeScale m_time_scale;
131132

132133
bool m_play_selection_only : 1;
@@ -286,6 +287,8 @@ - (void)setPlayer:(AVPlayer *)player
286287
m_selection_start = 0;
287288
m_selection_finish = 0;
288289
m_buffered_time = 0;
290+
291+
m_scale = 1.0;
289292

290293
m_time_observer_token = nil;
291294
m_endtime_observer_token = nil;
@@ -834,9 +837,16 @@ - (void)setPlayer:(AVPlayer *)player
834837
MCMacPlatformWindow *t_window;
835838
t_window = (MCMacPlatformWindow *)m_window;
836839

840+
// PM-2015-11-26: [[ Bug 13277 ]] Scale m_rect before mapping
841+
MCRectangle t_rect = m_rect;
842+
t_rect.x *= m_scale;
843+
t_rect.y *= m_scale;
844+
t_rect.width *= m_scale;
845+
t_rect.height *= m_scale;
846+
837847
NSRect t_frame;
838-
t_window -> MapMCRectangleToNSRect(m_rect, t_frame);
839-
848+
t_window -> MapMCRectangleToNSRect(t_rect, t_frame);
849+
840850
m_synchronizing = true;
841851

842852
[m_view setFrame: t_frame];
@@ -1052,6 +1062,10 @@ - (void)setPlayer:(AVPlayer *)player
10521062
case kMCPlatformPlayerPropertyOffscreen:
10531063
Switch(*(bool *)p_value);
10541064
break;
1065+
case kMCPlatformPlayerPropertyScalefactor:
1066+
m_scale = *(double *)p_value;
1067+
Synchronize();
1068+
break;
10551069
case kMCPlatformPlayerPropertyRect:
10561070
m_rect = *(MCRectangle *)p_value;
10571071
Synchronize();
@@ -1248,6 +1262,10 @@ static Boolean AVAssetHasType(AVAsset *p_asset, NSString *p_type)
12481262
case kMCPlatformPlayerPropertyMirrored:
12491263
*(bool *)r_value = m_mirrored;
12501264
break;
1265+
1266+
case kMCPlatformPlayerPropertyScalefactor:
1267+
*(double *)r_value = m_scale;
1268+
break;
12511269
}
12521270
}
12531271

engine/src/mac-qt-player.mm

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ - (NSView *) newHitTest: (NSPoint) aPoint;
119119
uint32_t *m_markers;
120120
uindex_t m_marker_count;
121121
uint32_t m_last_marker;
122+
double m_scale;
122123

123124
MCRectangle m_rect;
124125
bool m_visible : 1;
@@ -249,6 +250,7 @@ inline NSComparisonResult do_QTTimeCompare (QTTime time, QTTime otherTime)
249250
m_last_current_time = do_QTMakeTime(INT64_MAX, 1);
250251
m_buffered_time = do_QTMakeTime(0, 1);
251252
m_mirrored = false;
253+
m_scale = 1.0;
252254
}
253255

254256
MCQTKitPlayer::~MCQTKitPlayer(void)
@@ -611,9 +613,16 @@ inline NSComparisonResult do_QTTimeCompare (QTTime time, QTTime otherTime)
611613
MCMacPlatformWindow *t_window;
612614
t_window = (MCMacPlatformWindow *)m_window;
613615

616+
// PM-2015-11-26: [[ Bug 13277 ]] Scale m_rect before mapping
617+
MCRectangle t_rect = m_rect;
618+
t_rect.x *= m_scale;
619+
t_rect.y *= m_scale;
620+
t_rect.width *= m_scale;
621+
t_rect.height *= m_scale;
622+
614623
NSRect t_frame;
615-
t_window -> MapMCRectangleToNSRect(m_rect, t_frame);
616-
624+
t_window -> MapMCRectangleToNSRect(t_rect, t_frame);
625+
617626
m_synchronizing = true;
618627

619628
[m_view setFrame: t_frame];
@@ -734,6 +743,10 @@ inline NSComparisonResult do_QTTimeCompare (QTTime time, QTTime otherTime)
734743
case kMCPlatformPlayerPropertyOffscreen:
735744
Switch(*(bool *)p_value);
736745
break;
746+
case kMCPlatformPlayerPropertyScalefactor:
747+
m_scale = *(double *)p_value;
748+
Synchronize();
749+
break;
737750
case kMCPlatformPlayerPropertyRect:
738751
m_rect = *(MCRectangle *)p_value;
739752
Synchronize();
@@ -948,6 +961,10 @@ static Boolean QTMovieHasType(Movie tmovie, OSType movtype)
948961
case kMCPlatformPlayerPropertyMirrored:
949962
*(bool *)r_value = m_mirrored;
950963
break;
964+
965+
case kMCPlatformPlayerPropertyScalefactor:
966+
*(double *)r_value = m_scale;
967+
break;
951968
}
952969
}
953970

engine/src/platform.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -992,6 +992,7 @@ enum MCPlatformPlayerProperty
992992

993993
kMCPlatformPlayerPropertyLoop,
994994
kMCPlatformPlayerPropertyMirrored,
995+
kMCPlatformPlayerPropertyScalefactor,
995996

996997
kMCPlatformPlayerPropertyQTVRNode,
997998
kMCPlatformPlayerPropertyQTVRPan,

engine/src/player-platform.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,6 +1140,7 @@ Boolean MCPlayer::doubleup(uint2 which)
11401140
return True;
11411141
}
11421142

1143+
11431144
void MCPlayer::setrect(const MCRectangle &nrect)
11441145
{
11451146
rect = nrect;
@@ -2082,6 +2083,15 @@ void MCPlayer::showcontroller(Boolean show)
20822083
}
20832084
}
20842085

2086+
void MCPlayer::scale_native_rect(void)
2087+
{
2088+
if (m_platform_player != nil)
2089+
{
2090+
double t_scale_factor = getstack() -> view_get_content_scale();
2091+
MCPlatformSetPlayerProperty(m_platform_player, kMCPlatformPlayerPropertyScalefactor, kMCPlatformPropertyTypeDouble, &t_scale_factor);
2092+
}
2093+
}
2094+
20852095
Boolean MCPlayer::prepare(MCStringRef options)
20862096
{
20872097
// For osversion < 10.8 we have to have QT initialized.

0 commit comments

Comments
 (0)