OpenSiv3D
OpenSiv3D copied to clipboard
C++20 framework for creative coding 🎮🎨🎹 / Cross-platform support (Windows, macOS, Linux, and the Web)
- https://platform.openai.com/docs/guides/gpt/function-calling
参考: [チュートリアル 39.14](https://siv3d.github.io/ja-jp/tutorial3/2d-render-state/#3914-%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%84%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E9%AB%98%E8%A7%A3%E5%83%8F%E5%BA%A6%E9%AB%98%E7%B2%BE%E7%B4%B0%E5%8C%96) イメージ: ```cpp void Main() { Scene::SetResizeMode(ResizeMode::Actual); while (System::Update()) { const auto scaling = Scene::NativeResolutionTransformer(); // 関数名は仮 } } ```
**追加する機能の内容 | Describe the solution you'd like** v0.6.9で追加された[SimpleTableのサンプル](https://zenn.dev/reputeless/scraps/7d8b434284546e#comment-6a2a05060c1dda)を拝見したのですが、SimpleTableクラスでは他のSimpleGUI要素にはなかったStyleを導入しており、カスタマイズ性があって良いと思いました。 そこでなのですが、現在SimpleGUI名前空間に存在するボタンやスライダーなどの要素も、別クラスとして切り分けてStyleを導入するのはいかがでしょうか? OpenSiv3DでGUIを作る場合、ほとんどの場合SimpleGUI名前空間のメソッドを使用しますが、個人的にはこれらにもう少しカスタマイズ性があっても良いのではないかと感じています。 **その機能の追加によって解決する問題 | Is your feature request related to a problem? Please describe.** 現状、SimpleGUIでGUIを作ると、良くも悪くもOpenSiv3Dらしさがどうしても出てしまい、カスタマイズしようにも(単に背景色を変えたいだけの場合でも)クラスを自前で作る必要がある。 →SimpleTableクラスと同様にStyleを導入し、大きさ、色、フォントサイズなど、外見の基本的な部分だけはカスタマイズできるようにする。 **備考 | Additional context** [フォークリポジトリ](https://github.com/Takashima-Taiga/OpenSiv3D/tree/split-SimpleGUI)でとりあえずボタンをSimpleButtonとして試作してみました。使用感的には以下のようになります。 ```c++:Main.cpp...
- reported by: https://discord.com/channels/443310697397354506/999983621408567326/1132351710577303655
**追加する機能の内容 | Describe the solution you'd like** ①s3d::WindowState.sizeMoveを分解した以下のステータスの追加(メンバ変数名は仮称) s3d::WindowState.sizeChange // ウィンドウのサイズのみが変化したかどうか s3d::WindowState.isMoved // ウィンドウの位置のみが変化したかどうか ②s3d::Window::Resize(int, int, s3d::Centering)について、リサイズ後に画面の中央に配置るするかどうかに加えて、画面上の任意のポイントに移動できるようにs3d::Pointを引数として渡せるようにする s3d::Window::Resize(int, int, s3d::Point) // リサイズとウィンドウ位置変更を同時に行うことで、ちらつきを防止 // ResizeVirtual() 及び ResizeActual()についても同様 // 画面中央に配置する際の左上座標をs3d::Pointとして返す機能を用意することで、s3d::Centering付きのオーバーロードと共通化できるか? ③s3d::Window::Resize()とWidowsOSの標準機能であるウィンドウスナップとの相性の改善 ウィンドウスナップによるウィンドウの座標・サイズ変更に反応する形でWindow::Resize()を使用すると、目的通りの挙動にならない場合がある。Window::Resize()を同じ文言で2回書くと改善されるケースがあった。...
## 問題 | Problem Visual Studio 2022 を 17.6 に更新すると、OpenSiv3D v0.6.9 以前のプロジェクトをビルドするときに、 `"stdafx.h" が見つかりません` などのエラーが発生してビルドに失敗する。 ## 対処法 | Workaround プロジェクトのプロパティを開き、構成:「すべての構成」に設定したうえで、 「構成プロパティ」→「C/C++」→「ISO C++23 標準ライブラリモジュールのビルド」を「いいえ」にする。 In the project properties, set the configuration...
#1004 を解決するための PR です。
`Optional` のいくつかの操作で不要なコピーが発生します。 **検証用コード** ```c++ # include struct CopyMoveTest { CopyMoveTest() = default; CopyMoveTest(const CopyMoveTest&) { Console
- reported by: https://discord.com/channels/443310697397354506/998714158621147237/1099357769108299816
- reported by: https://discord.com/channels/443310697397354506/999983621408567326/1097328922913411184