当前位置: 首页 > news >正文

深圳微信分销网站建设seo是指什么职位

深圳微信分销网站建设,seo是指什么职位,生物科技企业网站做的比较好的,dw5怎样做网站MacOS 上实现 AWTK-WIDGET-WEB-VIEW 有点麻烦,主要原因是没有一个简单的办法将一个 WebView 嵌入到一个窗口中。所以,我们只能通过创建一个独立的窗口来实现。 1. 创建窗口 我对 Object-C 不熟悉,也不熟悉 Cocoa 框架,在 ChatGPT…

MacOS 上实现 AWTK-WIDGET-WEB-VIEW 有点麻烦,主要原因是没有一个简单的办法将一个 WebView 嵌入到一个窗口中。所以,我们只能通过创建一个独立的窗口来实现。

在这里插入图片描述

1. 创建窗口

我对 Object-C 不熟悉,也不熟悉 Cocoa 框架,在 ChatGPT 的帮助下,实现了一个简单的窗口创建函数。这个函数接受一个 SDL_Window 指针作为父窗口,然后创建一个新的窗口,将其设置为父窗口的子窗口。这样,新窗口就会在父窗口的上方显示。

在移动窗口时,子窗口也会跟着移动,但是有些延迟。

webview_os_window_t webview_os_window_create(SDL_Window* parent, int x, int y, int w, int h) {SDL_SysWMinfo info;SDL_VERSION(&info.version);SDL_GetWindowWMInfo(parent, &info);NSRect frame = NSMakeRect(x, y, w, h);NSWindow *parentWindow = (NSWindow *)info.info.cocoa.window;NSWindow* childWindow = [[NSWindow alloc] initWithContentRect:framestyleMask:NSWindowStyleMaskBorderless // 无边框样式backing:NSBackingStoreBuffereddefer:NO];// 设置窗口级别以确保它在父窗口上方[childWindow setLevel:NSFloatingWindowLevel]; // 使子窗口浮动在父窗口之上// 设置子窗口的初始位置相对于父窗口NSRect parentFrame = [parentWindow frame];CGFloat childX = NSMinX(parentFrame) + x;CGFloat childY = NSMaxY(parentFrame) - y - NSHeight(frame); // 倒置 y 轴以适应窗口坐标系统[childWindow setParentWindow:parentWindow]; // 设置父窗口// 设置子窗口的位置[childWindow setFrame:NSMakeRect(childX, childY, w, h) display:YES];// 使子窗口成为关键窗口并显示[childWindow makeKeyAndOrderFront:nil];// 观察父窗口的移动和大小变化[[NSNotificationCenter defaultCenter] addObserverForName:NSWindowDidMoveNotificationobject:parentWindowqueue:nilusingBlock:^(NSNotification *note) {NSRect newParentFrame = [parentWindow frame];[childWindow setFrameOrigin:NSMakePoint(NSMinX(newParentFrame) + x, NSMaxY(newParentFrame) - y - NSHeight(frame))];}];[[NSNotificationCenter defaultCenter] addObserverForName:NSWindowDidResizeNotificationobject:parentWindowqueue:nilusingBlock:^(NSNotification *note) {NSRect newParentFrame = [parentWindow frame];[childWindow setFrameOrigin:NSMakePoint(NSMinX(newParentFrame) + x, NSMaxY(newParentFrame) - y - NSHeight(frame))];}];// 观察父窗口切换到后面时,自动切换到后面[[NSNotificationCenter defaultCenter] addObserverForName:NSWindowDidResignKeyNotificationobject:parentWindowqueue:nilusingBlock:^(NSNotification *note) {[childWindow orderOut:nil];}];[[NSNotificationCenter defaultCenter] addObserverForName:NSWindowDidBecomeKeyNotificationobject:parentWindowqueue:nilusingBlock:^(NSNotification *note) {[childWindow makeKeyAndOrderFront:nil];}];return (__bridge void*)childWindow; // 使用 __bridge 传递所有权
}

2. 调整窗口大小

奇怪的是从 subwindow 获取父窗口的方法不起作用,所以通过传递父窗口的指针来调整子窗口的大小。

void webview_os_window_move_resize(SDL_Window* parent, webview_os_window_t subwindow, int x, int y, int w, int h) {SDL_SysWMinfo info;SDL_VERSION(&info.version);SDL_GetWindowWMInfo(parent, &info);NSWindow *childWindow = (__bridge NSWindow*)subwindow;NSWindow *parentWindow = info.info.cocoa.window;NSRect frame = NSMakeRect(x, y, w, h);[childWindow setFrame:frame display:YES];NSRect newParentFrame = [parentWindow frame];[childWindow setFrameOrigin:NSMakePoint(NSMinX(newParentFrame) + x, NSMaxY(newParentFrame) - y - NSHeight(frame))];
}

3. 销毁窗口

销毁窗口时,需要将子窗口从父窗口中移除。

void webview_os_window_destroy(webview_os_window_t subwindow) {NSWindow *childWindow = (__bridge NSWindow*)subwindow;[[NSNotificationCenter defaultCenter] removeObserver:childWindow];[childWindow close];
}
http://www.mmbaike.com/news/66842.html

相关文章:

  • 当当网网站的建设过程新闻稿营销
  • 购买一个网站空间如何可以多个域名使用吗网络营销有哪些方式
  • 网站建设综合推荐搜索引擎网站优化和推广方案
  • 网站建设与网页制作招聘seo优化培训公司
  • 做网站说什么5.0啥意思百度高级搜索
  • 公司网站空间域名建设做引流的公司是正规的吗
  • 西安手机网站建设公司注册城乡规划师教材
  • 梧州网站推广设计杭州网站提升排名
  • 微网站开发第三方平台seo搜索引擎优化书籍
  • 前端接私活一个页面多少钱网站seo外包价格
  • 网站建设目的确定灰色词网站seo
  • 临沂个人做网站凤凰军事新闻最新消息
  • 邮编域名做网站网络推广平台有哪些?
  • 公司做网站的费用记什么科目公司的网站制作
  • 合肥网站建设怎么做seo算法入门教程
  • 南通做网站优化国外外链平台
  • 维修报价单模板北京公司排名seo
  • 上门做网站婚恋网站排名前十名
  • 怎样做自己的微商网站东莞做网站公司
  • 做视频资源网站有哪些seoul怎么读
  • ps做网站标签福州百度推广开户
  • 网站如何做流量赚钱吗绍兴seo外包
  • 做网站毕业设计能过吗seo导航站
  • mip织梦手机网站模板泰州seo
  • 东莞大岭山注册公司seo系统培训哪家好
  • 做网站要主机还是服务器搜索平台
  • 淘宝店铺购买的服务在哪里seo检查工具
  • 网站 中国最早做网站的黑帽seo之搜索引擎
  • 网站设计与管理方向新冠疫情最新情况
  • 小程序怎么上架商品百度的关键词优化