Siv3D / OpenSiv3D

C++20 framework for creative coding 🎮🎨🎹 / Cross-platform support (Windows, macOS, Linux, and the Web)
https://siv3d.github.io/
MIT License
1k stars 138 forks source link

Script に反映されていない機能の調査と実装 #986

Open Raclamusi opened 1 year ago

Raclamusi commented 1 year ago

ScriptInput::clearInput()Periodic::Pulse0_1() などの機能追加が反映されていません。

他にも追加されていない機能がありそうなのでその調査をすることと、それらを Script へ実装することを提案します。

Raclamusi commented 5 months ago

Script に実装されていない機能

Array - `assign` - `at` - `operator bool` - `max_size` - `capacity` - `shrink_to_fit` - `swap` - `release` - `size_bytes` - `pop_front_N` - `pop_back_N` - `append` - `chunk` - `contains` - `fetch` - `fill` - `in_groups` - `includes` - `isSorted` - `join` - `remove` - `removed` - `remove_at` - `removed_at` - `replace` - `replaced` - `reversed` - `rotate` - `rotated` - `rsort` - `rsorted` - `shuffle` - `shuffled` - `slice` - `stable_sort` - `sorted` - `stable_sorted` - `sum` - `sumF` - `take` - `stable_unique` - `stable_uniqued` - `sort_and_unique` - `sorted_and_uniqued` - `unique_consecutive` - `uniqued_consecutive` - `values_at`
Grid - `swap` - `assign` - `at` - `inBounds` - `empty` - `isEmpty` - `operator bool` - `size` - `num_elements` - `size_bytes` - `asArray` - `reserve` - `capacity` - `shrink_to_fit` - `clear` - `release` - `push_back_row` - `pop_back_row` - `pop_back_row_N` - `push_back_column` - `pop_back_column` - `pop_back_column_N` - `insert_row` - `insert_rows` - `insert_column` - `insert_columns` - `remove_row` - `remove_rows` - `remove_column` - `remove_columns` - `choice` - `count` - `fetch` - `includes` - `replace` - `replaced` - `reverse` - `reverse_columns` - `reverse_rows` - `reversed` - `rotate` - `rotated` - `rotate_rows` - `rotated_rows` - `shuffle` - `shuffled` - `slice` - `sort` - `stable_sort` - `sorted` - `stable_sorted` - `sum` - `sumF` - `swap_columns` - `swap_rows` - `values_at` - `operator ==` - `operator !=`
Audio - `getLoopTiming`
Bezier2 - `intersectsAt` - `paint` - `overwrite`
Bezier3 - `intersectsAt` - `paint` - `overwrite`
Camera2D - `setParameters` - `getParameters` - `updateWheel` - `updateControls` - `updateMouse`
Circle - `intersectsAt` - `paint` - `overwrite` - `paintFrame` - `overwriteFrame` - `drawSegment` - `drawSegmentFromAngles`
Circular - `lerp`
Color - `withAlpha`
ColorF - `operator -=` - `withAlpha`
Date - `dayOfWeek` - `operator +` - `operator -` - `operator +=` - `operator -=` - `operator ==` - `operator !=` - `Subtract`
DateTime - `operator +` - `operator -` - `operator +=` - `operator -=` - `operator ==` - `operator !=` - `Subtract`
Dialog - `OpenFile` - `OpenFiles` - `SaveFile` - `SelectFolder` - `SaveImage` - `SaveWave`
DrawableText - `paint` - `stamp` - `overwrite` - `paintAt` - `stampAt` - `overwriteAt`
DynamicTexture - `generateMips`
Ellipse - `intersectsAt` - `paint` - `overwrite`
FileSystem - `NativePath` - `PathAppend` - `CreationTime` - `WriteTime` - `AccessTime` - `DirectoryContents` - `Remove` - `RemoveContents` - `Rename`
Font - `style` - `method` - `getGlyphClusters` - `getGlyphInfo` - `getGlyphInfoByGlyphIndex` - `renderOutline` - `renderOutlineByGlyphIndex` - `renderOutlines` - `renderPolygon` - `renderPolygonByGlyphIndex` - `renderPolygons` - `createMesh` - `createMeshByGlyphIndex` - `createMeshes` - `renderBitmap` - `renderBitmapByGlyphIndex` - `renderSDF` - `renderSDFByGlyphIndex` - `renderMSDF` - `renderMSDFByGlyphIndex` - `getGlyph` - `getGlyphs` - `GetPixelShader` - `IsAvailable`
GlobalAudio - `GetFFT` - `BusGetFFT`
Graphics2D - `GetBlendState` - `GetRasterizerState` - `GetSamplerState` - `GetViewport` - `GetCustomVertexShader` - `GetCustomPixelShader` - `GetRenderTarget` - `SetVSTexture` - `SetPSTexture` - `DrawTriangles` - `SetSDFParameters` - `SetMSDFParameters` - `SetVSConstantBuffer` - `SetPSConstantBuffer` - `SetConstantBuffer`
HSV - `withAlpha`
Image - `operator ==` - `operator !=` - `horizontalAspectRatio` - `asArray` - `getPixel` - `samplePixel` - `applyAlphaFromRChannel` - `savePNG` - `saveJPEG` - `savePPM` - `saveWebP` - `operator ()` - `alphaToPolygons` - `alphaToPolygonsCentered` - `grayscaleToPolygons` - `grayscaleToPolygonsCentered`
Input - `deviceType` - `clearInput` - `cleared` - `operator +` - `operator |`
Keyboard - `GetEvents`
Line - `normalizedVector` - `intersectsAtPrecise` - `paint` - `overwrite` - `paintArrow` - `overwriteArrow` - `paintDoubleHeadedArrow` - `overwriteDoubleHeadedArrow`
LineString - `asArray` - `size_bytes` - `choice` - `count` - `join` - `append` - `remove` - `remove_at` - `reverse` - `reversed` - `shuffle` - `slice` - `unique_consecutive` - `uniqued_consecutive` - `intersectsAt` - `paint` - `paintClosed` - `overwrite` - `overwriteClosed`
Math - `Max` - `Min` - `Dot` - `Cross` - `NormalizeAngle`
Monitor - `GetCurrentMonitor`
Mouse - `ClearLRInput`
Optional - `swap`
Periodic - `Pulse0_1` - `Pulse1_1`
Point - `operator %` - `operator %=` - `horizontalAspectRatio` - `rotated90` - `rotate90` - `rotated90At` - `rotate90At` - `paint` - `overwrite`
Polygon - `inners` - `addHoles` - `intersectsAt` - `paint` - `overwrite` - `toBuffer2D` - `Validate` - `Correct` - `CorrectOne`
Profiler - `GetStat`
Quad - `intersectsAt` - `paint` - `overwrite` - `paintFrame` - `overwriteFrame`
Rect - `getRelativePoint` - `horizontalAspectRatio` - `rotated90At` - `rotate90At` - `skewedX` - `skewedY` - `intersectsAt` - `paint` - `overwrite` - `paintFrame` - `overwriteFrame`
RectF - `getRelativePoint` - `horizontalAspectRatio` - `rotated90` - `rotate90` - `rotated90At` - `rotate90At` - `skewedX` - `skewedY` - `intersectsAt` - `paint` - `overwrite` - `paintFrame` - `overwriteFrame`
RoundRect - `horizontalAspectRatio` - `outerVertices` - `intersectsAt` - `paint` - `overwrite` - `paintFrame` - `overwriteFrame`
Scene - `HorizontalAspectRatio` - `SetTextureFilter` - `GetTextureFilter`
Shape2D - `Astroid` - `vertices` - `indices` - `toBuffer2D`
SimpleGUI - `GetFont` - `ButtonRegion` - `ButtonRegionAt` - `ButtonAt` - `SliderRegion` - `SliderRegionAt` - `SliderAt` - `VerticalSliderRegion` - `VerticalSliderRegionAt` - `VerticalSliderAt` - `CheckBoxRegion` - `CheckBoxRegionAt` - `CheckBoxAt` - `RadioButtonsRegion` - `RadioButtonsRegionAt` - `RadioButtonsAt` - `HorizontalRadioButtonsRegion` - `HorizontalRadioButtonsRegionAt` - `HorizontalRadioButtonsAt` - `TextBoxRegion` - `TextBoxRegionAt` - `TextAreaRegion` - `TextAreaRegionAt` - `TextArea` - `TextAreaAt` - `ColorPickerRegion` - `ColorPickerRegionAt` - `ColorPickerAt` - `ListBoxRegion` - `ListBoxRegionAt` - `ListBox` - `ListBoxAt` - `IMECandidateWindowRegion` - `IMECandidateWindow`
Spline2D - `acceleration` - `findNearest` - `findSelfIntersections` - `findIntersections` - `advance` - `advanceWrap` - `advanceMirror`
System - `GetRendererType` - `ComputerName` - `UserName` - `FullUserName` - `DefaultLocale` - `DefaultLanguage` - `LaunchFile` - `LaunchFileWithTextEditor` - `SetMainLoop` - `AwaitAsyncTask`
TextEditState - `resetStopwatches`
TextInput - `DisableIME` - `GetCandidates` - `GetCandidateState` - `GetCursorIndex` - `EnableIME` - `GetEditingTextStyle` - `GetCandicateCursorIndex` - `SetFocusToTextInput` - `SyncronizeText` - `SetCursorIndex`
Texture - `horizontalAspectRatio` - `getFormat`
TextureFormat - `value` - `name` - `WGPUFormat` - `operator <` - `operator <=` - `operator >` - `operator >=`
Triangle - `isClockwise` - `getCircumscribedCircle` - `intersectsAt` - `paint` - `overwrite` - `paintFrame` - `overwriteFrame` - `FromPoints`
TriangleIndex - `Zero`
VideoTexture - `getVideoReader` - `getFormat` - `isSDF`
Wave - `asArray` - `saveWAVE` - `saveOggVorbis` - `swap` - `resize` - `fill` - `append` - `remove_at` - `reverse` - `reversed` - `slice`
WaveSample - `WaveSampleS16` - `asWaveSample` - `FromFloat32`
Reputeless commented 4 months ago

網羅的な調査ありがとうございます。順次対応します。

Raclamusi commented 4 months ago

大雑把に調べているので、抜けがあったり、関係ないものが混ざってるかもです。

イテレータやアロケータ関連、可変長引数を取るものは除いてあります。