fixed pencil touch for absoluteTouch

This commit is contained in:
True Zhuanjia
2026-06-22 22:12:15 +08:00
parent c79929f37e
commit a7d7a7975f
4 changed files with 16 additions and 8 deletions
+4
View File
@@ -93,6 +93,8 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5;
streamConfig:(StreamConfiguration*)streamConfig
gameProfile:(OSCProfile* )profile
streamFrameTopLayerView:(UIView* )topLayerView{
if(!self.streamFrameVC) self.streamFrameVC = (StreamFrameViewController* )[GenericUtils parentViewControllerForView:self];
self->comboKeyModifierFlags = (UIKeyModifierControl|UIKeyModifierAlternate|UIKeyModifierShift);
self->_streamFrameTopLayerView = topLayerView;
@@ -1055,6 +1057,8 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5;
NSMutableSet* nonPencilTouches;
if(pencilTouches.count>0){
[_pencilHandler touchesBegan:pencilTouches withEvent:event];
GenericUtils.pencilInStreaming = true;
if(touchMode == AbsoluteTouch) [_streamFrameVC setMagnifierViewportInteractionEnabled:false];
nonPencilTouches = [touches mutableCopy];
[nonPencilTouches minusSet:pencilTouches];
}
+7 -7
View File
@@ -10924,7 +10924,7 @@
},
"zh-Hant" : {
"stringUnit" : {
"state" : "needs_review",
"state" : "translated",
"value" : "您目前的網路連線似乎正在阻擋遠端工作階段。在此網路上連線時,串流可能無法運作。\n\n下列網路連接埠被封鎖:\n%s"
}
},
@@ -10953,13 +10953,13 @@
},
"zh-Hant" : {
"stringUnit" : {
"state" : "needs_review",
"state" : "translated",
"value" : "此網路似乎未阻擋遠端工作階段。如果您仍然無法連線,請檢查您電腦的防火牆設定。"
}
},
"zh-HK" : {
"stringUnit" : {
"state" : "needs_review",
"state" : "translated",
"value" : "此網路似乎未阻擋遠端工作階段。如果您仍然無法連線,請檢查您電腦的防火牆設定。"
}
}
@@ -11086,25 +11086,25 @@
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Purchase [%@] for:\n- Pro-level pressure curve tool.\n- Improved stroke transmission & responsiveness, and user-defined keyboard/mouse shortcut for double tap & squeeze, in the remote drawing workflow.\n- Exclusive drawing-related on-screen buttons.\n- And more …\nNote: basic remote drawing function remains available without purchasing this add-on component."
"value" : "Purchase [%@] for:\n- Pro-level pencil pressure curve tool.\n- Improved stroke transmission & responsiveness, and user-defined keyboard/mouse shortcut for double tap & squeeze, in the remote drawing workflow.\n- Exclusive drawing-related on-screen buttons.\n- And more …\nNote: basic pencil function remains available without purchasing this add-on component."
}
},
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : "购买 [%@] 可解锁:\n- 专业级笔压曲线工具。\n- 远程绘画笔迹传输、笔触响应性能优化。\n- 支持用户自定义的双击及捏合键盘/鼠标快捷键。\n- 专属绘图相关的屏显按钮。\n以及更多...\n未购买该套件不影响基础绘画功能。"
"value" : "基础Pencil功能之上,购买 [%@] 可解锁:\n- 专业级笔压曲线工具。\n- 远程绘画笔迹传输优化、笔触响应性能优化。\n- 支持用户自定义的双击及捏合键盘/鼠标快捷键。\n- 专属绘图相关的屏显按钮。\n..."
}
},
"zh-Hant" : {
"stringUnit" : {
"state" : "translated",
"value" : "解鎖 [%@] :\n- 專業級筆壓曲線工具。\n- 最佳化遠端繪畫的筆跡傳輸與筆觸響應效能。\n- 並支援使用者自訂的雙擊及捏合鍵盤/滑鼠快捷鍵。\n- 專屬繪圖相關的螢幕顯示按鈕。\n以及更多...\n未購買此套件不影響基礎繪畫功能。"
"value" : "在基礎Pencil功能之上,購買 [%@] 可解鎖:\n- 專業級筆壓曲線工具。\n- 最佳化遠端繪畫的筆跡傳輸與筆觸響應效能。\n- 並支援使用者自訂的雙擊及捏合鍵盤/滑鼠快捷鍵。\n- 專屬繪圖相關的螢幕顯示按鈕。\n..."
}
},
"zh-HK" : {
"stringUnit" : {
"state" : "translated",
"value" : "解鎖 [%@] :\n- 專業級筆壓曲線工具。\n- 最佳化遠端繪畫的筆跡傳輸與筆觸響應效能。\n- 並支援使用者自訂的雙擊及捏合鍵盤/滑鼠快捷鍵。\n- 專屬繪圖相關的螢幕顯示按鈕。\n以及更多...\n未購買此套件不影響基礎繪畫功能。"
"value" : "在基礎Pencil功能之上,購買 [%@] 可解鎖:\n- 專業級筆壓曲線工具。\n- 最佳化遠端繪畫的筆跡傳輸與筆觸響應效能。\n- 並支援使用者自訂的雙擊及捏合鍵盤/滑鼠快捷鍵。\n- 專屬繪圖相關的螢幕顯示按鈕。\n..."
}
}
}
+2
View File
@@ -490,6 +490,8 @@ import UIKit
LocalizationHelper.localizedString(forKey: "Got it!")
}
@objc static var pencilInStreaming:Bool = false
@objc static func isIPhone() -> Bool {
return UIDevice.current.userInterfaceIdiom == .phone
}
@@ -724,6 +724,8 @@ static NSString* VLTerminationHintForErrorCode(int errorCode) {
[self restorePersistedStreamViewOffsetAndScaleWithProfile:_oscProfile];
GenericUtils.pencilInStreaming = false;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(updateContentOffsetAndScale:)
name:@"GameProfileSelectedNotification"
@@ -1101,7 +1103,7 @@ static NSString* VLTerminationHintForErrorCode(int errorCode) {
}
- (void)setMagnifierViewportInteractionEnabled:(BOOL)enabled {
_magnifierViewportInteractionActive = enabled || (_oscProfile.touchMode == AbsoluteTouch && !_settings.passthroughGestures);
_magnifierViewportInteractionActive = enabled || (_oscProfile.touchMode == AbsoluteTouch && !_settings.passthroughGestures && !GenericUtils.pencilInStreaming);
[self updateScrollViewInteractionState];
}