# Rewrite 5
- Move Libraries Source into pd directory and give them all their own CMakeLists.txt - Partial rewrite core (color, autogenerated vec), lithium (now uses UNIQUE PTR for Commands), UI7 - Use MenuV2 as new standart in UI7 - Implementz ViewPort Pre alpha to UI7 - Add Line Drawing to DrawList (not Working) - Implement a Complete new drievrs API (static Drivers) - NO SUPPORT FOR SHARED LIBRARY BUILDS IN VERSION 5 YET - Add Tools to Autogenerate Headers and Stuff
This commit is contained in:
		
							
								
								
									
										28
									
								
								include/pd/lithium/command.hpp
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										28
									
								
								include/pd/lithium/command.hpp
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -2,8 +2,7 @@ | ||||
|  | ||||
| /* | ||||
| MIT License | ||||
|  | ||||
| Copyright (c) 2024 - 2025 tobid7 | ||||
| Copyright (c) 2024 - 2025 René Amthor (tobid7) | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| @@ -25,38 +24,35 @@ SOFTWARE. | ||||
|  */ | ||||
|  | ||||
| #include <pd/core/core.hpp> | ||||
| // #include <pd/lithium/flags.hpp> | ||||
| #include <pd/lithium/texture.hpp> | ||||
| #include <pd/lithium/vertex.hpp> | ||||
|  | ||||
| namespace PD { | ||||
| namespace LI { | ||||
| /** | ||||
|  * Lithium Draw Command (containing a list of vertex and index data | ||||
|  * only for this specific command itself) | ||||
|  */ | ||||
| class Command : public SmartCtor<Command> { | ||||
| namespace Li { | ||||
| class Command { | ||||
|  public: | ||||
|   Command() = default; | ||||
|   ~Command() = default; | ||||
|  | ||||
|   Command& AppendIndex(u16 idx) { | ||||
|   PD_UNIQUE(Command); | ||||
|  | ||||
|   Command& AddIdx(const u16& idx) { | ||||
|     IndexBuffer.Add(VertexBuffer.Size() + idx); | ||||
|     return *this; | ||||
|   } | ||||
|  | ||||
|   Command& AppendVertex(const Vertex& v) { | ||||
|     VertexBuffer.Add(v); | ||||
|   Command& AddVtx(const Vertex& v) { | ||||
|     VertexBuffer.Add(std::move(v)); | ||||
|     return *this; | ||||
|   } | ||||
|  | ||||
|   Vec<Vertex> VertexBuffer; | ||||
|   Vec<u16> IndexBuffer; | ||||
|   PD::Vec<Vertex> VertexBuffer; | ||||
|   PD::Vec<u16> IndexBuffer; | ||||
|   ivec4 ScissorRect; | ||||
|   bool ScissorEnabled = false; | ||||
|   bool ScissorOn = false; | ||||
|   int Layer; | ||||
|   int Index; | ||||
|   Texture::Ref Tex; | ||||
| }; | ||||
| }  // namespace LI | ||||
| }  // namespace Li | ||||
| }  // namespace PD | ||||
		Reference in New Issue
	
	Block a user