2025-05-07 19:21:51 +02:00
|
|
|
/*
|
|
|
|
|
Crafter®.Graphics
|
2026-03-09 20:10:19 +01:00
|
|
|
Copyright (C) 2026 Catcrafts®
|
2025-05-07 19:21:51 +02:00
|
|
|
Catcrafts.net
|
|
|
|
|
|
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
|
|
|
modify it under the terms of the GNU Lesser General Public
|
|
|
|
|
License as published by the Free Software Foundation; either
|
|
|
|
|
version 3.0 of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
|
Lesser General Public License for more details.
|
|
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
|
|
|
License along with this library; if not, write to the Free Software
|
|
|
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
|
*/
|
|
|
|
|
|
2025-04-16 00:43:33 +02:00
|
|
|
export module Crafter.Graphics;
|
|
|
|
|
|
2026-05-18 02:07:48 +02:00
|
|
|
// Every partition is `export import`'d unconditionally. Crafter.Build's
|
|
|
|
|
// dependency scanner doesn't respect `#ifdef` on `import :X`, so the
|
|
|
|
|
// partition file must always exist. Vulkan-typed partitions stub to
|
|
|
|
|
// empty modules under CRAFTER_GRAPHICS_WINDOW_DOM, and the new Dom /
|
|
|
|
|
// DomEvents / Router partitions stub to empty modules in native
|
|
|
|
|
// builds — see project.cpp for the master list.
|
2025-04-16 00:43:33 +02:00
|
|
|
export import :Types;
|
2026-05-12 00:24:48 +02:00
|
|
|
export import :Keys;
|
|
|
|
|
export import :Gamepad;
|
|
|
|
|
export import :Window;
|
|
|
|
|
export import :Input;
|
2026-03-09 20:10:19 +01:00
|
|
|
export import :Device;
|
2025-11-24 03:38:20 +01:00
|
|
|
export import :Animation;
|
2026-03-12 21:13:53 +01:00
|
|
|
export import :ForwardDeclarations;
|
2026-05-18 04:58:52 +02:00
|
|
|
export import :GraphicsTypes;
|
2026-05-18 02:07:48 +02:00
|
|
|
export import :Clipboard;
|
|
|
|
|
|
|
|
|
|
// Vulkan-backed partitions — empty under DOM.
|
|
|
|
|
export import :Font;
|
|
|
|
|
export import :Mesh;
|
2026-01-27 22:34:24 +01:00
|
|
|
export import :VulkanTransition;
|
2026-01-28 01:07:41 +01:00
|
|
|
export import :VulkanBuffer;
|
2026-01-28 23:37:12 +01:00
|
|
|
export import :ShaderVulkan;
|
2026-01-31 21:08:42 +01:00
|
|
|
export import :ShaderBindingTableVulkan;
|
2026-01-29 00:45:02 +01:00
|
|
|
export import :PipelineRTVulkan;
|
2026-03-09 20:10:19 +01:00
|
|
|
export import :RenderingElement3D;
|
2026-02-03 21:03:11 +01:00
|
|
|
export import :ImageVulkan;
|
2026-05-19 00:27:09 +02:00
|
|
|
export import :Image2D;
|
2026-02-03 21:03:11 +01:00
|
|
|
export import :SamplerVulkan;
|
2026-04-05 22:53:59 +02:00
|
|
|
export import :DescriptorHeapVulkan;
|
2026-05-01 23:35:37 +02:00
|
|
|
export import :RenderPass;
|
|
|
|
|
export import :RTPass;
|
2026-05-02 21:08:20 +02:00
|
|
|
export import :FontAtlas;
|
|
|
|
|
export import :ComputeShader;
|
|
|
|
|
export import :UI;
|
2026-05-03 02:45:38 +02:00
|
|
|
export import :UIComponents;
|
2026-05-12 00:24:48 +02:00
|
|
|
export import :InputField;
|
2026-05-18 02:07:48 +02:00
|
|
|
export import :Decompress;
|
|
|
|
|
|
2026-05-18 18:43:30 +02:00
|
|
|
// Portable RT type aliases (provided on both targets — uses Vulkan
|
|
|
|
|
// structs natively, plain PODs of the same layout on DOM).
|
|
|
|
|
export import :RT;
|
|
|
|
|
|
2026-05-18 02:07:48 +02:00
|
|
|
// DOM-only partitions — empty under native.
|
|
|
|
|
export import :Dom;
|
|
|
|
|
export import :DomEvents;
|
|
|
|
|
export import :Router;
|
2026-05-18 04:58:52 +02:00
|
|
|
export import :WebGPU;
|
|
|
|
|
export import :WebGPUBuffer;
|
|
|
|
|
export import :DescriptorHeapWebGPU;
|
|
|
|
|
export import :WebGPUComputeShader;
|
2026-05-18 18:43:30 +02:00
|
|
|
export import :ShaderBindingTableWebGPU;
|
|
|
|
|
export import :PipelineRTWebGPU;
|