Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
江流儿的夏天
opencv
提交
e274e728
O
opencv
项目概览
江流儿的夏天
/
opencv
与 Fork 源项目一致
Fork自
OpenCV / opencv
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
e274e728
编写于
9月 04, 2023
作者:
A
Alexander Smorkalov
提交者:
GitHub
9月 04, 2023
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #24098 from 0xMihir:4.x
Fix fullscreen behavior for macOS
上级
4dd75544
fb34f36c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
34 addition
and
2 deletion
+34
-2
modules/highgui/src/window_cocoa.mm
modules/highgui/src/window_cocoa.mm
+34
-2
未找到文件。
modules/highgui/src/window_cocoa.mm
浏览文件 @
e274e728
...
...
@@ -195,6 +195,9 @@ CV_IMPL void cvDestroyWindow( const char* name)
//cout << "cvDestroyWindow" << endl;
CVWindow
*
window
=
cvGetWindow
(
name
);
if
(
window
)
{
if
([
window
styleMask
]
&
NSFullScreenWindowMask
)
{
[
window
toggleFullScreen
:
nil
];
}
[
window
close
];
[
windows
removeObjectForKey
:[
NSString
stringWithFormat
:
@"%s"
,
name
]];
}
...
...
@@ -701,7 +704,11 @@ double cvGetModeWindow_COCOA( const char* name )
void
cvSetModeWindow_COCOA
(
const
char
*
name
,
double
prop_value
)
{
CVWindow
*
window
=
nil
;
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7
NSDictionary
*
fullscreenOptions
=
nil
;
#endif
NSAutoreleasePool
*
localpool
=
nil
;
CV_FUNCNAME
(
"cvSetModeWindow_COCOA"
);
...
...
@@ -725,6 +732,31 @@ void cvSetModeWindow_COCOA( const char* name, double prop_value )
localpool
=
[[
NSAutoreleasePool
alloc
]
init
];
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_6
if
(
([
window
styleMask
]
&
NSFullScreenWindowMask
)
&&
prop_value
==
CV_WINDOW_NORMAL
)
{
[
window
toggleFullScreen
:
nil
];
window
.
status
=
CV_WINDOW_NORMAL
;
}
else
if
(
!
([
window
styleMask
]
&
NSFullScreenWindowMask
)
&&
prop_value
==
CV_WINDOW_FULLSCREEN
)
{
[
window
setCollectionBehavior
:
NSWindowCollectionBehaviorFullScreenPrimary
];
NSScreen
*
screen
=
[
window
screen
];
NSRect
frame
=
[
screen
frame
];
[
window
setFrame
:
frame
display
:
YES
];
[
window
setContentSize
:
frame
.
size
];
[
window
toggleFullScreen
:
nil
];
[
window
setFrameTopLeftPoint
:
frame
.
origin
];
window
.
status
=
CV_WINDOW_FULLSCREEN
;
}
#else
fullscreenOptions
=
[
NSDictionary
dictionaryWithObject
:[
NSNumber
numberWithBool
:
YES
]
forKey
:
NSFullScreenModeSetting
];
if
(
[[
window
contentView
]
isInFullScreenMode
]
&&
prop_value
==
CV_WINDOW_NORMAL
)
{
...
...
@@ -736,7 +768,7 @@ void cvSetModeWindow_COCOA( const char* name, double prop_value )
[[
window
contentView
]
enterFullScreenMode
:[
NSScreen
mainScreen
]
withOptions
:
fullscreenOptions
];
window
.
status
=
CV_WINDOW_FULLSCREEN
;
}
#endif
[
localpool
drain
];
__END__
;
...
...
@@ -810,7 +842,7 @@ void cvSetPropTopmost_COCOA( const char* name, const bool topmost )
CV_ERROR
(
CV_StsNullPtr
,
"NULL window"
);
}
if
(
[[
window
contentView
]
isInFullScreenMode
]
)
if
(
([
window
styleMask
]
&
NSFullScreenWindowMask
)
)
{
EXIT
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录