28 Commits

Author SHA1 Message Date
minggo
554598643a Merge branch 'v3.8.1' into v3.8.2-merge-v3.8.1 2023-09-08 14:34:24 +08:00
qiuguohua
3822786b7c Fix SDL-related issues (#16212)
* 1.Fixed editbox input send message twice.
2.Fixed when the window is hidden to send message twice
3.Fixed unresponsive right mouse button

* Remove  redundant files.

* Fixed ios compile failures.

* fixed ci errors for ios
2023-09-08 10:28:16 +08:00
qiuguohua
2ea26182e0 Use the resize event of SDL (#16072)
* 1. Use the resize event of SDL;
2. Fix the problem of not getting the button when SDL is moving.

* 1.Remove redundant code.
2.Fixed compilation errors.

* Avoiding repeated viewDidChangeBackingProperties function calls.

* Fix the way buttons are fetched.
2023-08-28 09:46:21 +08:00
qiuguohua
62a9da122e Use sdl2 on mac platform (#16030)
* Use sdl2 on mac platform
2023-08-21 16:45:53 +08:00
qiuguohua
06341f3037 Uncapture global mouse events. (#15834) 2023-08-02 14:20:24 +08:00
James Chen
60efd41c26 Merge pull request #14330 from cocos/v3.7.2
Merges v3.7.2 to develop
2023-02-22 09:40:48 +08:00
qiuguohua
1a369a2f18 Fix the problem that pointerlock cannot move infinitely (#14235) 2023-02-19 17:21:12 +08:00
qiuguohua
ee86fc40bd Native platform modifies exit process (#14141) 2023-02-15 17:11:28 +08:00
pandamicro
afd22296b4 MIT license update and to new year 2023 (#13927)
* Cpp MIT license update and to date
* TS MIT license update and to date
2022-12-28 11:25:12 +08:00
江战
046a2b1378 Re-impl CC_ASSERT & CC_ASSERTF (#13588) 2022-12-05 17:12:30 +08:00
James Chen
62d8b4daae Remove unused swapWindow methods. (#13356)
The operation of swapping (presenting) buffers is done in gfx::Device::present. To swap multi-systemwindows, multiple gfx swapchains need be created, and relevant gfx backend will iterate each swapchain and present them. Therefore, `swap buffers` operation doesn't need to be in SystemWindow or SystemWindowManager.

```c++
void GLES3Device::present() {
    CC_PROFILE(GLES3DevicePresent);
    auto *queue = static_cast<GLES3Queue *>(_queue);
    _numDrawCalls = queue->_numDrawCalls;
    _numInstances = queue->_numInstances;
    _numTriangles = queue->_numTriangles;

    bool isGFXDeviceNeedsPresent = _xr ? _xr->isGFXDeviceNeedsPresent(_api) : true;
    for (auto *swapchain : _swapchains) { // We iterate each swapchain and do the present thing here.
        if (isGFXDeviceNeedsPresent) _gpuContext->present(swapchain);
    }
    if (_xr) _xr->postGFXDevicePresent(_api);

    // Clear queue stats
    queue->_numDrawCalls = 0;
    queue->_numInstances = 0;
    queue->_numTriangles = 0;
}
```

Besides, `SDL_GL_SwapWindow` invocation is doing nothing on Windows & Linux platforms, it will generate an SDL an error that `The specified window isn't an OpenGL window` because GL context is not created by SDL_GL_CreateContext. We create contexts in our gfx code.

https://github.com/libsdl-org/SDL/blob/main/src/video/SDL_video.c#L4192

```c++

#define NOT_AN_OPENGL_WINDOW "The specified window isn't an OpenGL window"
int
SDL_GL_SwapWindowWithResult(SDL_Window * window)
{
    CHECK_WINDOW_MAGIC(window, -1);

    if (!(window->flags & SDL_WINDOW_OPENGL)) {
        return SDL_SetError(NOT_AN_OPENGL_WINDOW);
    }

    if (SDL_GL_GetCurrentWindow() != window) {
        return SDL_SetError("The specified window has not been made current");
    }

    return _this->GL_SwapWindow(_this, window);
}

void
SDL_GL_SwapWindow(SDL_Window * window)
{
    SDL_GL_SwapWindowWithResult(window);
}
```

Also, SDL_GL_SwapWindow could not take any effect if running on gfx Vulkan backend.

```c++
void SDLHelper::swapWindow(SDL_Window *window) {
    SDL_GL_SwapWindow(window);
}
```
2022-11-14 11:46:58 +08:00
江战
280fd976bc Add EventTarget & EventBus (#13100) 2022-10-28 15:44:33 +08:00
minggo
bd0fcc67c4 move cocos/core/pipeline to cocos/rendering (#12797)
* move cocos/core/pipeline to cocos/rendering
2022-09-16 16:10:26 +08:00
林玮
785fd91511 Add multi-windows support (#12243)
Co-authored-by: bofeng.song <bofeng.song@chukong-inc.com>
2022-09-15 14:55:44 +08:00
minggo
d40b8739bc Merge branch 'v3.6.0' into develop_merge_v3.6 2022-07-18 10:38:14 +08:00
bofeng-song
113fad0259 refine: rename windowHanler to windowHandle, rename onDestory to onDestroy (#11907) 2022-07-09 13:54:18 +08:00
timlyeee
b43de1af07 V3.6.0 exit (#11856) 2022-07-07 14:07:47 +08:00
minggo
271cc5cf23 Remove some format rule (#10919)
* remove some rules
* format all codes with new format rule
2022-05-04 13:09:24 +08:00
李吉林
3457292707 refactor exit process (#10880)
* refactor exit process

* add override

* fix geometry-renderer missing in deferred pipeline

* invoke destroy directly

* fix ESLint error

* add -misc-static-assert for clang-tidy
2022-04-27 14:59:23 +08:00
minggo
84c27e7f71 Merge branch 'v3.5.0' into v3.6.0_merge_v3.5 2022-04-24 13:41:27 +08:00
qiuguohua
e20e4b889e V3.5.0 Distribute touch events independently (#10712)
* Distribute touch events independently

* remove  touch event cast

* Fix the error of clang-tidy

Co-authored-by: qiuguohua <862332094@qq.com>
2022-04-10 22:10:15 +08:00
minggo
cd48cf7106 Replace CCASSERT with CC_ASSERT (#10682)
* replace CCASSERT with CC_ASSEERT
2022-04-10 16:03:46 +08:00
qiuguohua
50d2db2035 Avoid creating the window twice (#10566) 2022-03-29 16:26:30 +08:00
qiuguohua
422e4ccfe0 V3.5.0 window position (#10526) 2022-03-26 21:12:41 +08:00
Cocos Robot
6df16fe826 [ci skip][AUTO]: Automated clang-format update: 1f6796cbe4 (#10513) (#10514)
Co-authored-by: cocos-robot <cocos-robot@cocos.com>
2022-03-26 19:33:26 +08:00
qiuguohua
ecb0533c66 V3.5.0 window position (#10513)
* Mac,windows,linux create lower left window by default

* Mac creates bottom left window by default
2022-03-26 15:38:57 +08:00
qiuguohua
b6af1ada02 V3.5.0 create window (#10481)
* 1. Modify the parameters of the creation window
2. Modify the relationship between platform and interface
3. Rename vibrate to vibrator in linux and QNX

* Fix empty platform implementation

* Fix empty platform implementation

* Modify mac and ios createwindow interface

* Create a centered window by default

* Mobile platforms do not require window creation
2022-03-25 18:43:17 +08:00
qiuguohua
6a16077bc5 SDL related interface encapsulation (#10385)
* SDL related interface encapsulation
2022-03-18 14:43:01 +08:00