diff --git a/ArchitectureColoredPainting.sln b/ArchitectureColoredPainting.sln
index dbfe560..a700f6a 100644
--- a/ArchitectureColoredPainting.sln
+++ b/ArchitectureColoredPainting.sln
@@ -5,9 +5,9 @@ VisualStudioVersion = 17.2.32519.379
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ArchitectureColoredPainting", "ArchitectureColoredPainting\ArchitectureColoredPainting.vcxproj", "{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FramelessHelperCore", "FramelessHelper\qmake\FramelessHelperCore.vcxproj", "{F1BC586E-F1ED-320C-899E-76CCB5660AE1}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FramelessHelperCore", "FramelessHelper\qmake\FramelessHelperCore\FramelessHelperCore.vcxproj", "{954D3D24-DF86-33A3-8867-D1735CCBDB10}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FramelessHelperWidgets", "FramelessHelper\qmake\FramelessHelperWidgets.vcxproj", "{61651EC8-A30E-3935-BD0C-A01AE3EE0AD9}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FramelessHelperWidgets", "FramelessHelper\qmake\FramelessHelperWidgets\FramelessHelperWidgets.vcxproj", "{E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -19,14 +19,14 @@ Global
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Debug|x64.Build.0 = Debug|x64
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Release|x64.ActiveCfg = Release|x64
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Release|x64.Build.0 = Release|x64
- {F1BC586E-F1ED-320C-899E-76CCB5660AE1}.Debug|x64.ActiveCfg = Debug|x64
- {F1BC586E-F1ED-320C-899E-76CCB5660AE1}.Debug|x64.Build.0 = Debug|x64
- {F1BC586E-F1ED-320C-899E-76CCB5660AE1}.Release|x64.ActiveCfg = Release|x64
- {F1BC586E-F1ED-320C-899E-76CCB5660AE1}.Release|x64.Build.0 = Release|x64
- {61651EC8-A30E-3935-BD0C-A01AE3EE0AD9}.Debug|x64.ActiveCfg = Debug|x64
- {61651EC8-A30E-3935-BD0C-A01AE3EE0AD9}.Debug|x64.Build.0 = Debug|x64
- {61651EC8-A30E-3935-BD0C-A01AE3EE0AD9}.Release|x64.ActiveCfg = Release|x64
- {61651EC8-A30E-3935-BD0C-A01AE3EE0AD9}.Release|x64.Build.0 = Release|x64
+ {954D3D24-DF86-33A3-8867-D1735CCBDB10}.Debug|x64.ActiveCfg = Debug|x64
+ {954D3D24-DF86-33A3-8867-D1735CCBDB10}.Debug|x64.Build.0 = Debug|x64
+ {954D3D24-DF86-33A3-8867-D1735CCBDB10}.Release|x64.ActiveCfg = Release|x64
+ {954D3D24-DF86-33A3-8867-D1735CCBDB10}.Release|x64.Build.0 = Release|x64
+ {E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}.Debug|x64.ActiveCfg = Debug|x64
+ {E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}.Debug|x64.Build.0 = Debug|x64
+ {E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}.Release|x64.ActiveCfg = Release|x64
+ {E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
index 12bf848..5f5e54c 100644
--- a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
+++ b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
@@ -115,6 +115,7 @@
+
@@ -123,10 +124,12 @@
+
+
@@ -181,7 +184,9 @@
+
+
@@ -206,8 +211,8 @@
-
- {61651ec8-a30e-3935-bd0c-a01ae3ee0ad9}
+
+ {e7a71e05-4aa5-31db-a17d-542fc7bd83a3}
diff --git a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
index 7c086ef..d6f4019 100644
--- a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
+++ b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
@@ -174,6 +174,15 @@
Source Files\Renderer\Painting
+
+ Source Files\Renderer\Painting
+
+
+ Source Files\Renderer\Painting
+
+
+ Source Files\Renderer\Painting
+
Source Files\Editor\ThirdPartyLib\qquick
@@ -372,6 +381,18 @@
Header Files\Editor\util
+
+ Header Files\Renderer\Painting
+
+
+ Header Files\Renderer\Painting
+
+
+ Header Files\Renderer\Painting
+
+
+ Header Files\Renderer\Painting
+
diff --git a/ArchitectureColoredPainting/Shaders/painting.comp b/ArchitectureColoredPainting/Shaders/painting.comp
index 96fbdbd..46b31cc 100644
--- a/ArchitectureColoredPainting/Shaders/painting.comp
+++ b/ArchitectureColoredPainting/Shaders/painting.comp
@@ -898,12 +898,13 @@ void drawLine(in float d, in uint styleIndex, out vec4 elementColor, out vec2 me
{
elementColor = vec4(1);
metallicRoughness = vec2(0.8);
- switch(int(elementData[styleIndex+3]))
+ //switch(int(elementData[styleIndex+3]))
+ switch(0)
{
case 0:
{
- elementColor = vec4(elementData[styleIndex+7],elementData[styleIndex+8],elementData[styleIndex+9],1);
- metallicRoughness = vec2(elementData[styleIndex+10],elementData[styleIndex+11]);
+ elementColor = vec4(unpackUnorm4x8(floatBitsToUint(elementData[styleIndex+2])).rgb,1);
+ metallicRoughness = vec2(unpackUnorm4x8(floatBitsToUint(elementData[styleIndex+1])).rg);
break;
}
case 1:
@@ -972,9 +973,10 @@ bool drawElement(uint elementIndex, vec2 localUV, out vec3 color, out vec2 metal
}
//uint styleIndex = bvhChildren[elementBvhRoot + elementBvhIndex].y;
//uint elementType = bvhChildren[elementBvhRoot + elementBvhIndex].y;
- float elementType = elementData[styleIndex];
+ //float elementType = elementData[styleIndex];
+ bool isFillStyle = elementData[styleIndex]<=0;
// for(int i = 0; i<200;i++)
- if (elementType == 0) //Ãæ
+ if (isFillStyle) //Ãæ
{
uint contourIndex = linesOffset + leftChild - 0x80000000;
@@ -1015,22 +1017,25 @@ bool drawElement(uint elementIndex, vec2 localUV, out vec3 color, out vec2 metal
{
hitElement = true;
elementColor = vec4(1,1,0,0);
- if(elementData[styleIndex+1]==0)
+
+ vec4 head = unpackUnorm4x8(floatBitsToUint(elementData[styleIndex]));
+ if(head.z==0)
{
- elementColor = vec4(elementData[styleIndex+2],elementData[styleIndex+3],elementData[styleIndex+4],0);
- metallicRoughness = vec2(elementData[styleIndex+5],elementData[styleIndex+6]);
+ elementColor = vec4(unpackUnorm4x8(floatBitsToUint(elementData[styleIndex+1])).rgb,0);
+ metallicRoughness = head.xy;
}
}
}
- else if (elementType == 1) //Ïß
+ else //Ïß
{
- float strokeWidth = elementData[styleIndex+1];
+ float strokeWidth = elementData[styleIndex];
uint contourIndex = linesOffset + leftChild - 0x80000000;
float minDistance = 1e38;
uint lineCount = elementIndexs[contourIndex];
- float lineType = elementData[styleIndex+4];
+ //float lineType = elementData[styleIndex+4];
+ float lineType = 2;
vec2 p3Last = vec2(1e38);
vec2 p2Last = vec2(1e38);
int debugBegin = 0;
@@ -1169,9 +1174,9 @@ void main()
uint leftChild = bvhChildren[index].x;
if (leftChild >= bvhLength)
{
- uint zIndex = bvhChildren[index].y / 65535;
+ uint zIndex = bvhChildren[index].y >> 18;
+ bvec2 flip = bvec2(bvhChildren[index].y & (1<<16), bvhChildren[index].y & (1<<17));
float angle = (float(bvhChildren[index].y) / 65535.0 - zIndex) * 2 * PI;
-
mat2 rotation = {{cos(angle), -sin(angle)}, {sin(angle), cos(angle)}};
vec2 localUV = uv - (bound.xy + bound.zw) / 2;
localUV = rotation * localUV;
@@ -1184,6 +1189,8 @@ void main()
//debugBVH.bg += 0.5 * (localUV + vec2(1));
//debugBVH = vec3(0);
+ if(flip.x) localUV.x = -localUV.x;
+ if(flip.y) localUV.y = -localUV.y;
vec3 elementColor;
vec2 elementMetallicRoughness;
if(drawElement(leftChild - 0x80000000, localUV, elementColor, elementMetallicRoughness, debugBVH))
diff --git a/ArchitectureColoredPainting/src/Renderer/Model.cpp b/ArchitectureColoredPainting/src/Renderer/Model.cpp
index d648b44..b33f599 100644
--- a/ArchitectureColoredPainting/src/Renderer/Model.cpp
+++ b/ArchitectureColoredPainting/src/Renderer/Model.cpp
@@ -350,50 +350,54 @@ GLuint Renderer::Model::loadPainting(std::string path)
std::make_shared(SvgParser("M377,459.61a11.26,11.26,0,0,1,11.27-11.27H696.12a11.27,11.27,0,0,0,11-8.62A359.84,359.84,0,0,0,708,280.56a11.26,11.26,0,0,0-11-8.73H388.27A11.26,11.26,0,0,1,377,260.57h0a11.26,11.26,0,0,1,11.27-11.26H683.71A11.32,11.32,0,0,0,694.28,234C649.8,113.69,542.57,23.85,412.3,4.12a11.22,11.22,0,0,0-12.76,11.17v158.9a11.26,11.26,0,0,0,11.26,11.27H583.12a11.32,11.32,0,0,0,9.26-17.75c-31.67-46.59-78.51-75.2-109.11-90.07a11.25,11.25,0,0,0-16.13,10.17V115.2a11.24,11.24,0,0,0,6.22,10.07l7.51,3.76a11.28,11.28,0,0,1,5,15.12h0a11.27,11.27,0,0,1-15.11,5l-20-10a11.27,11.27,0,0,1-6.22-10.07V54a11.27,11.27,0,0,1,14.62-10.75c5.11,1.59,125.66,40.35,172.24,149A11.27,11.27,0,0,1,621.11,208H388.27A11.26,11.26,0,0,1,377,196.73V11.36A11.32,11.32,0,0,0,365.89.08C363.34,0,360.79,0,358.22,0s-5.11,0-7.66.08a11.32,11.32,0,0,0-11.11,11.28V196.74A11.26,11.26,0,0,1,328.18,208H95.35A11.27,11.27,0,0,1,85,192.3c46.57-108.67,167.12-147.42,172.23-149A11.26,11.26,0,0,1,271.86,54v75.11a11.25,11.25,0,0,1-6.23,10.07l-20,10a11.27,11.27,0,0,1-15.11-5h0a11.26,11.26,0,0,1,5-15.11l7.52-3.76a11.27,11.27,0,0,0,6.22-10.07V87.82a11.25,11.25,0,0,0-16.14-10.16c-30.6,14.87-77.45,43.48-109.1,90.07a11.3,11.3,0,0,0,9.25,17.74H305.66a11.26,11.26,0,0,0,11.27-11.26V15.31A11.22,11.22,0,0,0,304.17,4.14C173.88,23.86,66.66,113.71,22.17,234a11.32,11.32,0,0,0,10.56,15.29H328.18a11.26,11.26,0,0,1,11.27,11.26v0a11.26,11.26,0,0,1-11.27,11.26H19.52a11.26,11.26,0,0,0-11,8.72,359.84,359.84,0,0,0,.83,159.16,11.26,11.26,0,0,0,11,8.61H328.18a11.26,11.26,0,0,1,11.27,11.27h0a11.26,11.26,0,0,1-11.27,11.26h-294a11.32,11.32,0,0,0-10.53,15.4C69,604.65,175.3,692.78,304.16,712.3a11.21,11.21,0,0,0,12.76-11.16V542.22A11.26,11.26,0,0,0,305.66,531h-166c-9.53,0-14.89,11.22-8.69,18.47,34.09,39.77,74.45,65.66,101.77,80.18a11.25,11.25,0,0,0,16.53-10V591a11.26,11.26,0,0,1,11.26-11.26h0A11.26,11.26,0,0,1,271.85,591v63.85A11.27,11.27,0,0,1,256.8,665.5c-4.45-1.59-109.58-40-171-139.9a11.27,11.27,0,0,1,9.59-17.17H328.18a11.26,11.26,0,0,1,11.27,11.26V705.08a11.32,11.32,0,0,0,11.11,11.28q3.82.07,7.66.08c2.57,0,5.12,0,7.67-.08A11.32,11.32,0,0,0,377,705.08V519.69a11.25,11.25,0,0,1,11.27-11.26H621.1a11.26,11.26,0,0,1,9.59,17.16c-61.46,99.87-166.59,138.3-171,139.9a11.27,11.27,0,0,1-15-10.61V591a11.26,11.26,0,0,1,11.26-11.26h0A11.26,11.26,0,0,1,467.14,591v28.6a11.25,11.25,0,0,0,16.53,10c27.33-14.53,67.68-40.42,101.77-80.19,6.2-7.23.85-18.46-8.69-18.46h-166a11.26,11.26,0,0,0-11.26,11.26V701.12a11.21,11.21,0,0,0,12.76,11.17c128.86-19.51,235.14-107.66,280.48-226a11.33,11.33,0,0,0-10.53-15.41h-294A11.25,11.25,0,0,1,377,459.61ZM35.27,399.53V316.9a11.26,11.26,0,0,1,11.27-11.26H669.92a11.25,11.25,0,0,1,11.26,11.26v82.63a11.25,11.25,0,0,1-11.26,11.26H46.54a11.27,11.27,0,0,1-11.27-11.26Z", 716.45, 716.44).parse())
};
-
+ //vector> style = {
+ // std::make_shared(std::vector{
+ // //strokeStyle
+ // //stroke
+ // 1,
+ // //strokeWidth
+ // 0.02,
+ // //strokeEndType
+ // 0, //Ô²½Ç
+ // //strokeFillType
+ // 0, //µ¥É«
+ // //ÏßÀàÐÍ
+ // 0, //Ë«²à
+ // //ÏßÍâÃè±ß¿í¶È
+ // 0,
+ // //ÏßÍâÃè±ß·½Ê½
+ // 0, //µ¥É«
+ // //strokeFillColorMetallicRoughness
+ // 1,0,1, 0,0.8,
+ // }),
+ // std::make_shared(std::vector{
+ // //fillStyle
+ // //fill
+ // 0,
+ // //fillType
+ // 0, //µ¥É«
+ // //fillColorMetallicRoughness
+ // 240 / 255., 220 / 255., 160 / 255., 0.996, 0.18,
+ // }),
+ // std::make_shared(std::vector{
+ // //fillStyle
+ // //fill
+ // 0,
+ // //fillType
+ // 0, //µ¥É«
+ // //fillColorMetallicRoughness
+ // 24 / 255., 220 / 255., 16 / 255., 0., 0.18,
+ // }),
+ //};
- vector> style = {
- std::make_shared(std::vector{
- //strokeStyle
- //stroke
- 1,
- //strokeWidth
- 0.02,
- //strokeEndType
- 0, //Ô²½Ç
- //strokeFillType
- 0, //µ¥É«
- //ÏßÀàÐÍ
- 0, //Ë«²à
- //ÏßÍâÃè±ß¿í¶È
- 0,
- //ÏßÍâÃè±ß·½Ê½
- 0, //µ¥É«
- //strokeFillColorMetallicRoughness
- 1,0,1, 0,0.8,
- }),
- std::make_shared(std::vector{
- //fillStyle
- //fill
- 0,
- //fillType
- 0, //µ¥É«
- //fillColorMetallicRoughness
- 240 / 255., 220 / 255., 160 / 255., 0.996, 0.18,
- }),
- std::make_shared(std::vector{
- //fillStyle
- //fill
- 0,
- //fillType
- 0, //µ¥É«
- //fillColorMetallicRoughness
- 24 / 255., 220 / 255., 16 / 255., 0., 0.18,
- }),
+ vector> style = {
+ std::make_shared(),
+ std::make_shared()
};
+
vector> element = {
- std::make_shared(Element{ contour[0], style[1]}),
- std::make_shared(Element{ contour[1], style[0]}),
+ std::make_shared(Element{ contour[0], style[0]}),
+ std::make_shared(Element{ contour[1], style[1]}),
std::make_shared(Element{ contour[2], style[0]}),
};
Painting painting;
@@ -406,9 +410,14 @@ GLuint Renderer::Model::loadPainting(std::string path)
// //rootBvhTreeData.push_back(BvhTreeData(QVector4D(x, y, z, w), 0, encodeZIndexAngle(1, (float)rand() / RAND_MAX * 360)));
// painting.addElement(element[i%3], QVector4D(x, y, z, w), (float)rand() / RAND_MAX * 360, 1);
//}
- painting.addElement(element[0], QVector4D(-0.8, -0.8, -0.2, -0.1), 0, 0);
- painting.addElement(element[1], QVector4D(-0.7, 0.2, -0.2, 0.7), 0, 0);
- painting.addElement(element[2], QVector4D(0.2, -0.8, 0.8, -0.1), 0, 0);
+ painting.addElement(*element[0], ElementTransform{ glm::vec2(-0.5,-0.45), glm::vec2(0.6,0.7), 0, glm::bvec2(true, false), 0 });
+ painting.addElement(*element[1], ElementTransform{ glm::vec2(-0.45,0.45), glm::vec2(0.5,0.5), 0, glm::bvec2(false), 0 });
+ painting.addElement(*element[2], ElementTransform{ glm::vec2(0.5,-0.45), glm::vec2(0.6,0.7), 0, glm::bvec2(false), 0 });
+
+
+ //painting.addElement(element[0], QVector4D(-0.8, -0.8, -0.2, -0.1), 0, 0);
+ //painting.addElement(element[1], QVector4D(-0.7, 0.2, -0.2, 0.7), 0, 0);
+ //painting.addElement(element[2], QVector4D(0.2, -0.8, 0.8, -0.1), 0, 0);
painting.generateBuffers();
/////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/BaseStyle.cpp b/ArchitectureColoredPainting/src/Renderer/Painting/BaseStyle.cpp
new file mode 100644
index 0000000..f690a9c
--- /dev/null
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/BaseStyle.cpp
@@ -0,0 +1,3 @@
+#include "BaseStyle.h"
+
+using namespace Renderer;
\ No newline at end of file
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/BaseStyle.h b/ArchitectureColoredPainting/src/Renderer/Painting/BaseStyle.h
new file mode 100644
index 0000000..b02a657
--- /dev/null
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/BaseStyle.h
@@ -0,0 +1,33 @@
+#pragma once
+#include
+#include
+#include
+#include
+
+namespace Renderer
+{
+ /// Ïà¶Ô±ä»»£¬ÓÃÓÚÖÆ×÷ÒõÓ°µÈЧ¹û
+ struct TransformStyle
+ {
+ glm::vec2 translation = glm::vec2(0);
+ glm::vec2 scale = glm::vec2(1);
+ float rotation = 0;
+ glm::bvec2 flip = glm::bvec2(false);
+ };
+
+ enum class MaterialStyleType { kFill, kStroke };
+
+ class MaterialStyle
+ {
+ public:
+ virtual MaterialStyleType type() const = 0;
+ virtual std::vector encoded() const = 0;
+ virtual bool operator==(const MaterialStyle&) const = 0;
+ };
+
+ struct BaseStyle
+ {
+ std::shared_ptr transform;
+ std::shared_ptr material;
+ };
+}
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/Element.h b/ArchitectureColoredPainting/src/Renderer/Painting/Element.h
index ac8361a..d4f887f 100644
--- a/ArchitectureColoredPainting/src/Renderer/Painting/Element.h
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/Element.h
@@ -2,17 +2,24 @@
#include
#include
#include "Line.h"
+#include "ElementStyle.h"
namespace Renderer
{
- class Element
- {
- public:
- std::vector bvhChildren;
- std::vector bvhBound;
- std::vector elementIndex;
- std::vector points;
+ using Contour = std::vector>;
- Element(std::vector> lines);
+ struct Element
+ {
+ std::shared_ptr contour;
+ std::shared_ptr style;
+ };
+
+ struct ElementTransform
+ {
+ glm::vec2 center;
+ glm::vec2 size;
+ float rotation; /// ½Ç¶ÈÖÆ
+ glm::bvec2 flip;
+ GLuint zIndex;
};
}
\ No newline at end of file
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/ElementStyle.cpp b/ArchitectureColoredPainting/src/Renderer/Painting/ElementStyle.cpp
index 685165e..e65ce5f 100644
--- a/ArchitectureColoredPainting/src/Renderer/Painting/ElementStyle.cpp
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/ElementStyle.cpp
@@ -1,18 +1,17 @@
#include "ElementStyle.h"
+#include "MaterialStyleFill.h"
+#include "MaterialStyleStroke.h"
using namespace Renderer;
-ElementStyle::ElementStyle(std::vector style)
- :style(style)
+std::vector Renderer::ElementStyleFillDemo::toBaseStyles() const
{
+ return { BaseStyle(std::make_shared(),
+ std::make_shared(std::make_shared(QColor(0, 255, 0), 0, 0.8))) };
}
-bool Renderer::ElementStyle::isLine()
+std::vector Renderer::ElementStyleStrokeDemo::toBaseStyles() const
{
- return style[0];
-}
-
-std::vector ElementStyle::encoded()
-{
- return style;
+ return { BaseStyle(std::make_shared(),
+ std::make_shared(0.02, StrokeType::kBothSides, StrokeEndType::kRound, std::make_shared(QColor(0, 0, 255), 0, 0.8))) };
}
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/ElementStyle.h b/ArchitectureColoredPainting/src/Renderer/Painting/ElementStyle.h
index 18a61f4..53cb306 100644
--- a/ArchitectureColoredPainting/src/Renderer/Painting/ElementStyle.h
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/ElementStyle.h
@@ -1,16 +1,31 @@
#pragma once
#include
#include
+#include "BaseStyle.h"
namespace Renderer
{
class ElementStyle
{
public:
- ElementStyle(std::vector style);
- bool isLine();
- std::vector encoded();
- private:
- std::vector style;
+ /**
+ * @brief ½«Í¼ÔªÑùʽתΪÈô¸É»ù±¾Ñùʽ
+ * @return BaseStyleÊý×飬Êý×éϱê˳Ðò¼´ÎªzIndex˳Ðò£¬Êý×é´óС²»µÃ´óÓÚ10
+ */
+ virtual std::vector toBaseStyles() const = 0;
+ };
+
+ // TODO: ´ËΪʾÀý£¬½¨Òéдµ½Editor²¿·Ö±ãÓÚÓëUI°ó¶¨
+ class ElementStyleFillDemo : public ElementStyle
+ {
+ public:
+ virtual std::vector toBaseStyles() const override;
+ };
+
+ // TODO: ´ËΪʾÀý£¬½¨Òéдµ½Editor²¿·Ö±ãÓÚÓëUI°ó¶¨
+ class ElementStyleStrokeDemo : public ElementStyle
+ {
+ public:
+ virtual std::vector toBaseStyles() const override;
};
}
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/MaterialStyleFill.cpp b/ArchitectureColoredPainting/src/Renderer/Painting/MaterialStyleFill.cpp
new file mode 100644
index 0000000..889b72e
--- /dev/null
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/MaterialStyleFill.cpp
@@ -0,0 +1,48 @@
+#include "MaterialStyleFill.h"
+
+using namespace Renderer;
+
+Renderer::FillPlain::FillPlain(QColor color, float metallic, float roughness)
+ : color(color), metallic(metallic), roughness(roughness)
+{
+}
+
+MaterialFillType Renderer::FillPlain::type() const
+{
+ return MaterialFillType::kPlain;
+}
+
+std::vector Renderer::FillPlain::encoded() const
+{
+ return { glm::uintBitsToFloat(glm::packUnorm4x8(glm::vec4(metallic, roughness, 0, 1))),
+ glm::uintBitsToFloat(glm::packUnorm4x8(glm::vec4(color.redF(), color.greenF(), color.blueF(), color.alphaF())))};
+}
+
+bool Renderer::FillPlain::operator==(const MaterialFill& m) const
+{
+ return type() == m.type()
+ && color == static_cast(m).color
+ && metallic == static_cast(m).metallic
+ && roughness == static_cast(m).roughness;
+}
+
+
+Renderer::MaterialStyleFill::MaterialStyleFill(std::shared_ptr materialFill)
+ : materialFill(materialFill)
+{
+}
+
+MaterialStyleType Renderer::MaterialStyleFill::type() const
+{
+ return MaterialStyleType::kFill;
+}
+
+std::vector Renderer::MaterialStyleFill::encoded() const
+{
+ return materialFill->encoded();
+}
+
+bool Renderer::MaterialStyleFill::operator==(const MaterialStyle& m) const
+{
+ return type() == m.type() && *materialFill == *static_cast(m).materialFill;
+}
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/MaterialStyleFill.h b/ArchitectureColoredPainting/src/Renderer/Painting/MaterialStyleFill.h
new file mode 100644
index 0000000..40e5c37
--- /dev/null
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/MaterialStyleFill.h
@@ -0,0 +1,41 @@
+#pragma once
+#include "BaseStyle.h"
+
+namespace Renderer
+{
+ enum class MaterialFillType { kPlain, kLinearGradient, kRadialGradient };
+
+ class MaterialFill
+ {
+ public:
+ virtual MaterialFillType type() const = 0;
+ virtual std::vector encoded() const = 0;
+ virtual bool operator==(const MaterialFill&) const = 0;
+ };
+
+ class FillPlain : public MaterialFill
+ {
+ public:
+ FillPlain(QColor color, float metallic, float roughness);
+ virtual MaterialFillType type() const override;
+ virtual std::vector encoded() const override;
+ virtual bool operator==(const MaterialFill&) const override;
+
+ QColor color;
+ float metallic;
+ float roughness;
+ };
+
+ class MaterialStyleFill : public MaterialStyle
+ {
+ public:
+ MaterialStyleFill(std::shared_ptr materialFill);
+ virtual MaterialStyleType type() const override;
+ virtual std::vector encoded() const override;
+ virtual bool operator==(const MaterialStyle&) const override;
+ protected:
+ std::shared_ptr materialFill;
+ };
+
+
+}
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/MaterialStyleStroke.cpp b/ArchitectureColoredPainting/src/Renderer/Painting/MaterialStyleStroke.cpp
new file mode 100644
index 0000000..4948314
--- /dev/null
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/MaterialStyleStroke.cpp
@@ -0,0 +1,57 @@
+#include "MaterialStyleStroke.h"
+
+using namespace Renderer;
+
+Renderer::StrokePlain::StrokePlain(QColor color, float metallic, float roughness)
+ : color(color), metallic(metallic), roughness(roughness)
+{
+}
+
+MaterialStrokeType Renderer::StrokePlain::type() const
+{
+ return MaterialStrokeType::kPlain;
+}
+
+std::vector Renderer::StrokePlain::encoded() const
+{
+ return { glm::uintBitsToFloat(glm::packUnorm4x8(glm::vec4(metallic, roughness, 0, 0))),
+ glm::uintBitsToFloat(glm::packUnorm4x8(glm::vec4(color.redF(), color.greenF(), color.blueF(), color.alphaF()))) };
+}
+
+bool Renderer::StrokePlain::operator==(const MaterialStroke& m) const
+{
+ return type() == m.type()
+ && color == static_cast(m).color
+ && metallic == static_cast(m).metallic
+ && roughness == static_cast(m).roughness;
+}
+
+Renderer::MaterialStyleStroke::MaterialStyleStroke(float width, StrokeType strokeType, StrokeEndType endType, std::shared_ptr materialStroke)
+ : width(width), strokeType(strokeType), endType(endType), materialStroke(materialStroke)
+{
+}
+
+MaterialStyleType Renderer::MaterialStyleStroke::type() const
+{
+ return MaterialStyleType::kStroke;
+}
+
+std::vector Renderer::MaterialStyleStroke::encoded() const
+{
+ std::vector v = { width };
+ auto encoded = materialStroke->encoded();
+ v.insert(v.end(), encoded.begin(), encoded.end());
+ return v;
+}
+
+bool Renderer::MaterialStyleStroke::operator==(const MaterialStyle& m) const
+{
+ return type() == m.type() && *materialStroke == *static_cast(m).materialStroke;
+}
+
+float Renderer::MaterialStyleStroke::getWidth() const
+{
+ return width;
+}
+
+
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/MaterialStyleStroke.h b/ArchitectureColoredPainting/src/Renderer/Painting/MaterialStyleStroke.h
new file mode 100644
index 0000000..b9b8fbd
--- /dev/null
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/MaterialStyleStroke.h
@@ -0,0 +1,47 @@
+#pragma once
+#include "BaseStyle.h"
+
+namespace Renderer
+{
+ enum class MaterialStrokeType { kPlain };
+
+ class MaterialStroke
+ {
+ public:
+ virtual MaterialStrokeType type() const = 0;
+ virtual std::vector encoded() const = 0;
+ virtual bool operator==(const MaterialStroke&) const = 0;
+ };
+
+ class StrokePlain : public MaterialStroke
+ {
+ public:
+ StrokePlain(QColor color, float metallic, float roughness);
+ virtual MaterialStrokeType type() const override;
+ virtual std::vector encoded() const override;
+ virtual bool operator==(const MaterialStroke&) const override;
+
+ QColor color;
+ float metallic;
+ float roughness;
+ };
+
+
+ enum class StrokeType { kBothSides = 2, kLeftSide = 1, kRightSide = 0 };
+ enum class StrokeEndType { kRound };
+
+ class MaterialStyleStroke : public MaterialStyle
+ {
+ public:
+ MaterialStyleStroke(float width, StrokeType strokeType, StrokeEndType endType, std::shared_ptr materialStroke);
+ virtual MaterialStyleType type() const override;
+ virtual std::vector encoded() const override;
+ virtual bool operator==(const MaterialStyle&) const override;
+ float getWidth() const;
+ protected:
+ float width;
+ StrokeType strokeType;
+ StrokeEndType endType;
+ std::shared_ptr materialStroke;
+ };
+}
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/Painting.cpp b/ArchitectureColoredPainting/src/Renderer/Painting/Painting.cpp
index 6fd5edc..5539faf 100644
--- a/ArchitectureColoredPainting/src/Renderer/Painting/Painting.cpp
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/Painting.cpp
@@ -2,6 +2,7 @@
#include "../../SvgParser.h"
#include "ShortCutTree.h"
#include "LineTree.h"
+#include "MaterialStyleStroke.h"
#include
using namespace Renderer;
@@ -18,46 +19,80 @@ void Renderer::Painting::addElement(ElementWithTransform elementWithTransform)
if (it == elementPool.end())
{
auto element = elementWithTransform.element;
- auto iter = contourPool.insert({ element->contour, {nullptr, nullptr} }).first;
+ auto iter = contourPool.insert({ element.contour, {nullptr, nullptr} }).first;
- if (!element->style->isLine() && iter->second.first == nullptr)
+ switch (element.style->type())
{
- qDebug() << "Build ShortCutTree---------------------------------------------------------------------------------------------------";
- ShortCutTree shortCutTree(maxLineCount);
- shortCutTree.buildShortCutTree(*element->contour);
- ContourBuffer elementBuffer;
- std::vector bvhLeaves = shortCutTree.getPointLineAndBvhTree(elementBuffer.pointBuffer, elementBuffer.lineBuffer);
- BvhTree bvhTree;
- bvhTree.buildBvhTree(bvhLeaves.data(), bvhLeaves.size());
- bvhTree.getBvhArray(elementBuffer.bvhChildren, elementBuffer.bvhBounds);
- iter->second.first = std::make_shared(elementBuffer);
- qDebug() << "---------------------------------------------------------------------------------------------------------------------";
+ case MaterialStyleType::kFill:
+ if (iter->second.first == nullptr)
+ {
+ qDebug() << "Build ShortCutTree---------------------------------------------------------------------------------------------------";
+ ShortCutTree shortCutTree(maxLineCount);
+ shortCutTree.buildShortCutTree(*element.contour);
+ ContourBuffer elementBuffer;
+ std::vector bvhLeaves = shortCutTree.getPointLineAndBvhTree(elementBuffer.pointBuffer, elementBuffer.lineBuffer);
+ BvhTree bvhTree;
+ bvhTree.buildBvhTree(bvhLeaves.data(), bvhLeaves.size());
+ bvhTree.getBvhArray(elementBuffer.bvhChildren, elementBuffer.bvhBounds);
+ iter->second.first = std::make_shared(elementBuffer);
+ qDebug() << "---------------------------------------------------------------------------------------------------------------------";
+ }
+ break;
+ case MaterialStyleType::kStroke:
+ if (iter->second.second == nullptr)
+ {
+ qDebug() << "Build LineTree-------------------------------------------------------------------------------------------------------";
+ LineTree lineTree(maxLineCount);
+ lineTree.buildLineTree(*element.contour, std::static_pointer_cast(element.style)->getWidth());
+ ContourBuffer elementBuffer;
+ std::vector bvhLeaves = lineTree.getPointLineAndBvhTree(elementBuffer.pointBuffer, elementBuffer.lineBuffer);
+ BvhTree bvhTree;
+ bvhTree.buildBvhTree(bvhLeaves.data(), bvhLeaves.size());
+ bvhTree.getBvhArray(elementBuffer.bvhChildren, elementBuffer.bvhBounds);
+ iter->second.second = std::make_shared(elementBuffer);
+ qDebug() << "---------------------------------------------------------------------------------------------------------------------";
+ }
+ break;
}
- else if (element->style->isLine() && iter->second.second == nullptr)
- {
- qDebug() << "Build LineTree-------------------------------------------------------------------------------------------------------";
- LineTree lineTree(maxLineCount);
- lineTree.buildLineTree(*element->contour, element->style->encoded()[1]);
- ContourBuffer elementBuffer;
- std::vector bvhLeaves = lineTree.getPointLineAndBvhTree(elementBuffer.pointBuffer, elementBuffer.lineBuffer);
- BvhTree bvhTree;
- bvhTree.buildBvhTree(bvhLeaves.data(), bvhLeaves.size());
- bvhTree.getBvhArray(elementBuffer.bvhChildren, elementBuffer.bvhBounds);
- iter->second.second = std::make_shared(elementBuffer);
- qDebug() << "---------------------------------------------------------------------------------------------------------------------";
-
-
- }
- stylePool.insert({ element->style, 0 });
- elementPool.insert({ element, 0});
+ stylePool.insert({ element.style, 0 });
+ elementPool.insert({ element, 0 });
}
elements.push_back(elementWithTransform);
}
+void Renderer::Painting::addElement(const Element& element, const ElementTransform& transform)
+{
+ auto contour = element.contour;
+ auto it = elementStyleMap.find(element.style);
+ if (it == elementStyleMap.end())
+ {
+ std::vector baseStyles;
+ for (auto& style : element.style->toBaseStyles())
+ {
+ auto [iter, _] = styleSet.insert(style.material);
+ baseStyles.push_back(BaseStyle{ style.transform, *iter });
+ }
+ it = elementStyleMap.insert({ element.style, baseStyles }).first;
+ }
+ for (int i = 0; i < it->second.size(); i++)
+ {
+ auto& style = it->second[i];
+ ElementTransform trans = transform;
+ trans.center += style.transform->translation;
+ trans.size *= style.transform->scale;
+ trans.rotation += style.transform->rotation;
+ trans.flip ^= style.transform->flip;
+ trans.zIndex = trans.zIndex * 10 + i;
+ addElement(ElementWithTransform{ BaseElement{element.contour, style.material}, BaseTransform(trans) });
+ }
+}
+
+
+
void Renderer::Painting::addElement(std::shared_ptr element, QVector4D bound, float rotation, int zIndex)
{
- addElement(ElementWithTransform{ element, bound, rotation, zIndex });
+
}
GLuint encodeZIndexRotation(GLuint zIndex, float rotation)
@@ -65,11 +100,19 @@ GLuint encodeZIndexRotation(GLuint zIndex, float rotation)
return GLuint(rotation / 360 * 0x10000 + zIndex * 0x10000);
}
+BvhTreeData Painting::encodeElementLeaf(ElementWithTransform e)
+{
+ QVector4D bound(e.transform.bound.x, e.transform.bound.y, e.transform.bound.z, e.transform.bound.w);
+ GLuint rightSon = GLuint(glm::mod(e.transform.rotation, 360.f) * (1 << 16))
+ + (e.transform.flip.x << 16) + (e.transform.flip.y << 17) + (e.transform.zIndex << 18);
+ return BvhTreeData(bound, elementPool[e.element], rightSon);
+}
+
void Painting::generateBuffers()
{
- qDebug() << elementPool.size();
- qDebug() << contourPool.size();
- qDebug() << stylePool.size();
+ qDebug() << "Element Count: " << elementPool.size();
+ qDebug() << "Coutour Count: " << contourPool.size();
+ qDebug() << " Style Count: " << stylePool.size();
bvhChildren.clear();
@@ -85,10 +128,10 @@ void Painting::generateBuffers()
}
std::vector rootBvhTreeData;
- for (auto& i:elements)
+ for (auto& i : elements)
{
- rootBvhTreeData.push_back(BvhTreeData(i.bound, elementPool[i.element], encodeZIndexRotation(i.zIndex, i.rotation)));
- //rootBvhTreeData.push_back(BvhTreeData(i.bound, 1, encodeZIndexRotation(i.zIndex, i.rotation)));
+ rootBvhTreeData.push_back(encodeElementLeaf(i));
+ //rootBvhTreeData.back().show();
}
BvhTree rootBvhTree;
rootBvhTree.buildBvhTree(rootBvhTreeData.data(), rootBvhTreeData.size());
@@ -117,8 +160,8 @@ void Painting::generateBuffers()
for (auto& i : elementPool)
{
//qDebug() <<"element:" << i.second;
- std::shared_ptr contourBuffer = i.first->style->isLine() ? contourPool[i.first->contour].second : contourPool[i.first->contour].first;
- elementOffset.push_back({ contourBuffer->bvhOffset, stylePool[i.first->style], contourBuffer->pointsOffset, contourBuffer->linesOffset });
+ std::shared_ptr contourBuffer = i.first.style->type()==MaterialStyleType::kStroke ? contourPool[i.first.contour].second : contourPool[i.first.contour].first;
+ elementOffset.push_back({ contourBuffer->bvhOffset, stylePool[i.first.style], contourBuffer->pointsOffset, contourBuffer->linesOffset });
//std::cout << std::format("{} {} {} {}\n", contourBuffer->bvhOffset, stylePool[i.first->style], contourBuffer->pointsOffset, contourBuffer->linesOffset);
}
}
@@ -139,3 +182,16 @@ void Renderer::Painting::insertContourBuffer(std::shared_ptr buff
bvhChildren.insert(bvhChildren.end(), buffer->bvhChildren.begin(), buffer->bvhChildren.end());
bvhBounds.insert(bvhBounds.end(), buffer->bvhBounds.begin(), buffer->bvhBounds.end());
}
+
+bool Renderer::BaseElement::operator<(const BaseElement& e) const
+{
+ return contour == e.contour ? style < e.style : contour < e.contour;
+}
+
+Renderer::BaseTransform::BaseTransform(ElementTransform t)
+ : bound(glm::vec4(t.center - t.size / 2.f, t.center + t.size / 2.f))
+ , rotation(t.rotation)
+ , flip(t.flip)
+ , zIndex(t.zIndex)
+{
+}
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/Painting.h b/ArchitectureColoredPainting/src/Renderer/Painting/Painting.h
index e8ce576..496d879 100644
--- a/ArchitectureColoredPainting/src/Renderer/Painting/Painting.h
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/Painting.h
@@ -1,28 +1,35 @@
#pragma once
#include
+#include
#include
+#include
#include "Line.h"
#include "BvhTree.h"
#include "ElementStyle.h"
-#include
-//#include "Element.h"
+#include "Element.h"
namespace Renderer
{
- using Contour = std::vector>;
-
- struct Element
+ struct BaseElement
{
std::shared_ptr contour;
- std::shared_ptr style;
+ std::shared_ptr style;
+ bool operator<(const BaseElement& e) const;
+ };
+
+ struct BaseTransform
+ {
+ glm::vec4 bound;
+ float rotation;
+ glm::bvec2 flip;
+ GLuint zIndex;
+ BaseTransform(ElementTransform t);
};
struct ElementWithTransform
{
- std::shared_ptr element;
- QVector4D bound;
- float rotation;
- int zIndex;
+ BaseElement element;
+ BaseTransform transform;
};
struct ContourBuffer
@@ -37,6 +44,18 @@ namespace Renderer
GLuint bvhOffset;
};
+ struct CompareMaterialStyle
+ {
+ inline bool operator()(const std::shared_ptr& left, const std::shared_ptr& right) const
+ {
+ if (left == right || *left == *right)
+ return false;
+ else
+ return left < right;
+ }
+ };
+
+
class Painting
{
public:
@@ -49,16 +68,19 @@ namespace Renderer
Painting();
void addElement(ElementWithTransform element);
+ void addElement(const Element& element, const ElementTransform& transform);
void addElement(std::shared_ptr element, QVector4D bound, float rotation, int zIndex);
void generateBuffers();
GLuint getElementCount();
private:
std::unordered_map, std::pair/*Ãæ*/, std::shared_ptr/*Ïß*/>> contourPool;
- std::unordered_map, GLuint> stylePool;
- std::map, GLuint> elementPool;
+ std::set, CompareMaterialStyle> styleSet;
+ std::unordered_map, std::vector> elementStyleMap;
+ std::unordered_map, GLuint> stylePool;
+ std::map elementPool;
std::vector elements;
void insertContourBuffer(std::shared_ptr buffer);
-
+ BvhTreeData encodeElementLeaf(ElementWithTransform e);
};
}
diff --git a/FramelessHelper/qmake/.qmake.stash b/FramelessHelper/qmake/FramelessHelperCore/.qmake.stash
similarity index 62%
rename from FramelessHelper/qmake/.qmake.stash
rename to FramelessHelper/qmake/FramelessHelperCore/.qmake.stash
index 6978fc8..b04d932 100644
--- a/FramelessHelper/qmake/.qmake.stash
+++ b/FramelessHelper/qmake/FramelessHelperCore/.qmake.stash
@@ -1,23 +1,23 @@
QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
-QMAKE_CXX.QMAKE_MSC_VER = 1933
-QMAKE_CXX.QMAKE_MSC_FULL_VER = 193331630
+QMAKE_CXX.QMAKE_MSC_VER = 1934
+QMAKE_CXX.QMAKE_MSC_FULL_VER = 193431937
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_MSC_VER \
QMAKE_MSC_FULL_VER
QMAKE_CXX.INCDIRS = \
- "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.33.31629\\include" \
- "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.33.31629\\ATLMFC\\include" \
+ "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\include" \
+ "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\ATLMFC\\include" \
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Auxiliary\\VS\\include" \
- "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\ucrt" \
- "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.19041.0\\\\um" \
- "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.19041.0\\\\shared" \
- "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.19041.0\\\\winrt" \
- "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.19041.0\\\\cppwinrt" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.22000.0\\ucrt" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22000.0\\\\um" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22000.0\\\\shared" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22000.0\\\\winrt" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22000.0\\\\cppwinrt" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um"
QMAKE_CXX.LIBDIRS = \
- "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.33.31629\\ATLMFC\\lib\\x64" \
- "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.33.31629\\lib\\x64" \
+ "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\ATLMFC\\lib\\x64" \
+ "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\lib\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\lib\\um\\x64" \
- "C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\ucrt\\x64" \
- "C:\\Program Files (x86)\\Windows Kits\\10\\\\lib\\10.0.19041.0\\\\um\\x64"
+ "C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.22000.0\\ucrt\\x64" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\\\lib\\10.0.22000.0\\\\um\\x64"
diff --git a/FramelessHelper/qmake/FramelessHelperCore.pro b/FramelessHelper/qmake/FramelessHelperCore/FramelessHelperCore.pro
similarity index 94%
rename from FramelessHelper/qmake/FramelessHelperCore.pro
rename to FramelessHelper/qmake/FramelessHelperCore/FramelessHelperCore.pro
index c91662e..526567f 100644
--- a/FramelessHelper/qmake/FramelessHelperCore.pro
+++ b/FramelessHelper/qmake/FramelessHelperCore/FramelessHelperCore.pro
@@ -1,9 +1,9 @@
QT += core core-private gui gui-private
-CORE_PUB_INC_DIR = $$PWD/../include/FramelessHelper/Core
+CORE_PUB_INC_DIR = $$PWD/../../include/FramelessHelper/Core
CORE_PRIV_INC_DIR = $$CORE_PUB_INC_DIR/private
-CORE_EXTRA_INC_DIR = $$PWD/inc/core
-CORE_SRC_DIR = $$PWD/../src/core
+CORE_EXTRA_INC_DIR = $$PWD/../inc/core
+CORE_SRC_DIR = $$PWD/../../src/core
DEFINES += \
FRAMELESSHELPER_CORE_STATIC
diff --git a/FramelessHelper/qmake/FramelessHelperCore.vcxproj b/FramelessHelper/qmake/FramelessHelperCore/FramelessHelperCore.vcxproj
similarity index 78%
rename from FramelessHelper/qmake/FramelessHelperCore.vcxproj
rename to FramelessHelper/qmake/FramelessHelperCore/FramelessHelperCore.vcxproj
index 699fe08..735f6a0 100644
--- a/FramelessHelper/qmake/FramelessHelperCore.vcxproj
+++ b/FramelessHelper/qmake/FramelessHelperCore/FramelessHelperCore.vcxproj
@@ -11,11 +11,11 @@
- {F1BC586E-F1ED-320C-899E-76CCB5660AE1}
+ {954D3D24-DF86-33A3-8867-D1735CCBDB10}
FramelessHelperCore
QtVS_v304
- 10.0.19041.0
- 10.0.19041.0
+ 10.0.22000.0
+ 10.0.22000.0
$(MSBuildProjectDirectory)\QtMsBuild
@@ -78,7 +78,7 @@
- GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\include\FramelessHelper\Core;..\include\FramelessHelper\Core\private;inc\core;release;E:\VulkanSDK\1.3.216.0\include;%(AdditionalIncludeDirectories)
+ GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\..\include\FramelessHelper\Core;..\..\include\FramelessHelper\Core\private;..\inc\core;release;E:\VulkanSDK\1.3.216.0\include;%(AdditionalIncludeDirectories)
-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)
release\
false
@@ -121,7 +121,7 @@
msvc
- D:/??2022/ArchitectureColoredPainting/FramelessHelper/qmake/$(Configuration)/moc_predefs.h
+ ./$(Configuration)/moc_predefs.h
Moc'ing %(Identity)...
output
$(Configuration)
@@ -137,7 +137,7 @@
- GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\include\FramelessHelper\Core;..\include\FramelessHelper\Core\private;inc\core;debug;E:\VulkanSDK\1.3.216.0\include;%(AdditionalIncludeDirectories)
+ GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\..\include\FramelessHelper\Core;..\..\include\FramelessHelper\Core\private;..\inc\core;debug;E:\VulkanSDK\1.3.216.0\include;%(AdditionalIncludeDirectories)
-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)
debug\
false
@@ -146,7 +146,7 @@
Sync
debug\
Disabled
- _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;FRAMELESSHELPER_CORE_STATIC;QT_NO_CAST_TO_ASCII;QT_NO_CAST_FROM_ASCII;QT_NO_CAST_FROM_BYTEARRAY;QT_NO_URL_CAST_FROM_STRING;QT_NO_NARROWING_CONVERSIONS_IN_CONNECT;QT_NO_FOREACH;QT_USE_QSTRINGBUILDER;QT_USE_FAST_OPERATOR_PLUS;QT_DEPRECATED_WARNINGS;QT_DEPRECATED_WARNINGS_SINCE=0x070000;QT_WARN_DEPRECATED_UP_TO=0x070000;QT_DISABLE_DEPRECATED_BEFORE=0x070000;QT_DISABLE_DEPRECATED_UP_TO=0x070000;QT_NO_KEYWORDS;%(PreprocessorDefinitions)
+ _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;FRAMELESSHELPER_CORE_STATIC;%(PreprocessorDefinitions)
false
MultiThreadedDebugDLL
true
@@ -184,7 +184,7 @@
msvc
- D:/??2022/ArchitectureColoredPainting/FramelessHelper/qmake/$(Configuration)/moc_predefs.h
+ ./$(Configuration)/moc_predefs.h
Moc'ing %(Identity)...
output
$(Configuration)
@@ -192,53 +192,53 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
@@ -259,10 +259,10 @@
-
+
-
-
+
+
diff --git a/FramelessHelper/qmake/FramelessHelperCore.vcxproj.filters b/FramelessHelper/qmake/FramelessHelperCore/FramelessHelperCore.vcxproj.filters
similarity index 61%
rename from FramelessHelper/qmake/FramelessHelperCore.vcxproj.filters
rename to FramelessHelper/qmake/FramelessHelperCore/FramelessHelperCore.vcxproj.filters
index 6a1d510..d972081 100644
--- a/FramelessHelper/qmake/FramelessHelperCore.vcxproj.filters
+++ b/FramelessHelper/qmake/FramelessHelperCore/FramelessHelperCore.vcxproj.filters
@@ -37,102 +37,102 @@
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
@@ -173,13 +173,13 @@
-
+
Resource Files
-
+
Resource Files
-
+
Resource Files
diff --git a/FramelessHelper/qmake/FramelessHelperWidgets/.qmake.stash b/FramelessHelper/qmake/FramelessHelperWidgets/.qmake.stash
new file mode 100644
index 0000000..b04d932
--- /dev/null
+++ b/FramelessHelper/qmake/FramelessHelperWidgets/.qmake.stash
@@ -0,0 +1,23 @@
+QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
+QMAKE_CXX.QMAKE_MSC_VER = 1934
+QMAKE_CXX.QMAKE_MSC_FULL_VER = 193431937
+QMAKE_CXX.COMPILER_MACROS = \
+ QT_COMPILER_STDCXX \
+ QMAKE_MSC_VER \
+ QMAKE_MSC_FULL_VER
+QMAKE_CXX.INCDIRS = \
+ "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\include" \
+ "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\ATLMFC\\include" \
+ "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Auxiliary\\VS\\include" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.22000.0\\ucrt" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22000.0\\\\um" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22000.0\\\\shared" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22000.0\\\\winrt" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22000.0\\\\cppwinrt" \
+ "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um"
+QMAKE_CXX.LIBDIRS = \
+ "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\ATLMFC\\lib\\x64" \
+ "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\lib\\x64" \
+ "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\lib\\um\\x64" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.22000.0\\ucrt\\x64" \
+ "C:\\Program Files (x86)\\Windows Kits\\10\\\\lib\\10.0.22000.0\\\\um\\x64"
diff --git a/FramelessHelper/qmake/FramelessHelperWidgets.pro b/FramelessHelper/qmake/FramelessHelperWidgets/FramelessHelperWidgets.pro
similarity index 92%
rename from FramelessHelper/qmake/FramelessHelperWidgets.pro
rename to FramelessHelper/qmake/FramelessHelperWidgets/FramelessHelperWidgets.pro
index 0f1e999..fe8d3c3 100644
--- a/FramelessHelper/qmake/FramelessHelperWidgets.pro
+++ b/FramelessHelper/qmake/FramelessHelperWidgets/FramelessHelperWidgets.pro
@@ -1,8 +1,8 @@
QT += widgets widgets-private
-WIDGETS_PUB_INC_DIR = $$PWD/../include/FramelessHelper/Widgets
+WIDGETS_PUB_INC_DIR = $$PWD/../../include/FramelessHelper/Widgets
WIDGETS_PRIV_INC_DIR = $$WIDGETS_PUB_INC_DIR/private
-WIDGETS_SRC_DIR = $$PWD/../src/widgets
+WIDGETS_SRC_DIR = $$PWD/../../src/widgets
DEFINES += \
FRAMELESSHELPER_WIDGETS_STATIC
diff --git a/FramelessHelper/qmake/FramelessHelperWidgets.vcxproj b/FramelessHelper/qmake/FramelessHelperWidgets/FramelessHelperWidgets.vcxproj
similarity index 81%
rename from FramelessHelper/qmake/FramelessHelperWidgets.vcxproj
rename to FramelessHelper/qmake/FramelessHelperWidgets/FramelessHelperWidgets.vcxproj
index 1d7795e..411cfb0 100644
--- a/FramelessHelper/qmake/FramelessHelperWidgets.vcxproj
+++ b/FramelessHelper/qmake/FramelessHelperWidgets/FramelessHelperWidgets.vcxproj
@@ -11,11 +11,11 @@
- {61651EC8-A30E-3935-BD0C-A01AE3EE0AD9}
+ {E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}
FramelessHelperWidgets
QtVS_v304
- 10.0.19041.0
- 10.0.19041.0
+ 10.0.22000.0
+ 10.0.22000.0
$(MSBuildProjectDirectory)\QtMsBuild
@@ -78,7 +78,7 @@
- GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\include\FramelessHelper\Widgets;..\include\FramelessHelper\Widgets\private;release;E:\VulkanSDK\1.3.216.0\include;%(AdditionalIncludeDirectories)
+ GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\..\include\FramelessHelper\Widgets;..\..\include\FramelessHelper\Widgets\private;release;E:\VulkanSDK\1.3.216.0\include;%(AdditionalIncludeDirectories)
-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)
release\
false
@@ -130,7 +130,7 @@
- ..\include\FramelessHelper\Widgets;..\include\FramelessHelper\Widgets\private;..\include\FramelessHelper\Core\..\..;..\include\FramelessHelper\Core;..\include\FramelessHelper\Core\private;inc\core;%(AdditionalIncludeDirectories)
+ GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\..\include\FramelessHelper\Widgets;..\..\include\FramelessHelper\Widgets\private;debug;..\..\include;..\inc\core;..\..\include\FramelessHelper\Core;%(AdditionalIncludeDirectories)
-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)
debug\
false
@@ -139,7 +139,7 @@
Sync
debug\
Disabled
- _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;FRAMELESSHELPER_WIDGETS_STATIC;QT_NO_CAST_TO_ASCII;QT_NO_CAST_FROM_ASCII;QT_NO_CAST_FROM_BYTEARRAY;QT_NO_URL_CAST_FROM_STRING;QT_NO_NARROWING_CONVERSIONS_IN_CONNECT;QT_NO_FOREACH;QT_USE_QSTRINGBUILDER;QT_USE_FAST_OPERATOR_PLUS;QT_DEPRECATED_WARNINGS;QT_DEPRECATED_WARNINGS_SINCE=0x070000;QT_WARN_DEPRECATED_UP_TO=0x070000;QT_DISABLE_DEPRECATED_BEFORE=0x070000;QT_DISABLE_DEPRECATED_UP_TO=0x070000;QT_NO_KEYWORDS;%(PreprocessorDefinitions)
+ _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;FRAMELESSHELPER_WIDGETS_STATIC;%(PreprocessorDefinitions)
false
MultiThreadedDebugDLL
true
@@ -178,42 +178,42 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -235,8 +235,8 @@
-
- {f1bc586e-f1ed-320c-899e-76ccb5660ae1}
+
+ {954d3d24-df86-33a3-8867-d1735ccbdb10}
diff --git a/FramelessHelper/qmake/FramelessHelperWidgets.vcxproj.filters b/FramelessHelper/qmake/FramelessHelperWidgets/FramelessHelperWidgets.vcxproj.filters
similarity index 61%
rename from FramelessHelper/qmake/FramelessHelperWidgets.vcxproj.filters
rename to FramelessHelper/qmake/FramelessHelperWidgets/FramelessHelperWidgets.vcxproj.filters
index 428a464..58050a2 100644
--- a/FramelessHelper/qmake/FramelessHelperWidgets.vcxproj.filters
+++ b/FramelessHelper/qmake/FramelessHelperWidgets/FramelessHelperWidgets.vcxproj.filters
@@ -27,72 +27,72 @@
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
diff --git a/FramelessHelper/qmake/core.vcxproj b/FramelessHelper/qmake/core.vcxproj
deleted file mode 100644
index f8e45a9..0000000
--- a/FramelessHelper/qmake/core.vcxproj
+++ /dev/null
@@ -1,274 +0,0 @@
-
-
-
-
- Release
- x64
-
-
- Debug
- x64
-
-
-
- {E5BE9C30-42FE-3F03-9A8E-F9C7795F516F}
-
-
- QtVS_v304
- 10.0.19041.0
- 10.0.19041.0
- $(MSBuildProjectDirectory)\QtMsBuild
- FramelessHelperCore
-
-
-
- v142
- release\
- false
- NotSet
- Application
- release\
- core
-
-
- v143
- debug\
- false
- NotSet
- StaticLibrary
- debug\
- core
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- debug\
- debug\
- core
- true
-
-
- release\
- release\
- core
- true
- false
-
-
- 5.15.2_msvc2019_64
- core;core-private;gui;gui-private
-
-
- 5.15.2_msvc2019_64
- core;core-private;gui;gui-private
-
-
-
-
-
-
- GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\include\FramelessHelper\Core;..\include\FramelessHelper\Core\private;inc\core;release;E:\VulkanSDK\1.3.216.0\include;%(AdditionalIncludeDirectories)
- -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)
- release\
- false
- None
- 4577;4467;%(DisableSpecificWarnings)
- Sync
- release\
- MaxSpeed
- _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;FRAMELESSHELPER_CORE_STATIC;NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)
- false
-
-
- MultiThreadedDLL
- true
- true
- Level3
- true
-
-
- user32.lib;gdi32.lib;shell32.lib;shell32.lib;%(AdditionalDependencies)
- C:\openssl\lib;C:\Utils\my_sql\mysql-5.7.25-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)
- "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)
- true
- false
- true
- false
- true
- $(OutDir)\core.exe
- true
- Windows
- true
-
-
- Unsigned
- None
- 0
-
-
- _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;FRAMELESSHELPER_CORE_STATIC;NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)
-
-
- msvc
- D:/??2022/ArchitectureColoredPainting/FramelessHelper/qmake/$(Configuration)/moc_predefs.h
- Moc'ing %(Identity)...
- output
- $(Configuration)
- moc_%(Filename).cpp
-
-
- default
- framelesshelpercore
- Rcc'ing %(Identity)...
- $(Configuration)
- qrc_%(Filename).cpp
-
-
-
-
- GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\include\FramelessHelper\Core;..\include\FramelessHelper\Core\private;inc\core;debug;E:\VulkanSDK\1.3.216.0\include;%(AdditionalIncludeDirectories)
- -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)
- debug\
- false
- ProgramDatabase
- 4577;4467;%(DisableSpecificWarnings)
- Sync
- debug\
- Disabled
- _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;FRAMELESSHELPER_CORE_STATIC;%(PreprocessorDefinitions)
- false
- MultiThreadedDebugDLL
- true
- true
- Level3
- true
- stdcpp17
-
-
- user32.lib;gdi32.lib;shell32.lib;shell32.lib;%(AdditionalDependencies)
- C:\openssl\lib;C:\Utils\my_sql\mysql-5.7.25-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)
- "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)
- true
- true
- true
- $(OutDir)\core.exe
- true
- Windows
- true
-
-
- Unsigned
- None
- 0
-
-
- _WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;FRAMELESSHELPER_CORE_STATIC;_DEBUG;%(PreprocessorDefinitions)
-
-
- framelesshelpercore
- default
- Rcc'ing %(Identity)...
- $(Configuration)
- qrc_%(Filename).cpp
-
-
- msvc
- D:/??2022/ArchitectureColoredPainting/FramelessHelper/qmake/$(Configuration)/moc_predefs.h
- Moc'ing %(Identity)...
- output
- $(Configuration)
- moc_%(Filename).cpp
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Document
- true
- $(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)
- cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2>NUL >debug\moc_predefs.h
- Generate moc_predefs.h
- debug\moc_predefs.h;%(Outputs)
-
-
- Document
- $(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)
- cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2>NUL >release\moc_predefs.h
- Generate moc_predefs.h
- release\moc_predefs.h;%(Outputs)
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/FramelessHelper/qmake/core.vcxproj.filters b/FramelessHelper/qmake/core.vcxproj.filters
deleted file mode 100644
index 6a1d510..0000000
--- a/FramelessHelper/qmake/core.vcxproj.filters
+++ /dev/null
@@ -1,186 +0,0 @@
-
-
-
-
- {71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}
- cpp;c;cxx;moc;h;def;odl;idl;res;
-
-
- {71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}
- cpp;c;cxx;moc;h;def;odl;idl;res;
-
-
- {93995380-89BD-4b04-88EB-625FBE52EBFB}
- h;hpp;hxx;hm;inl;inc;xsd
-
-
- {93995380-89BD-4b04-88EB-625FBE52EBFB}
- h;hpp;hxx;hm;inl;inc;xsd
-
-
- {D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}
- qrc;*
- false
-
-
- {D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}
- qrc;*
- false
-
-
- {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
- cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx
-
-
- {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
- cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx
-
-
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Generated Files
-
-
- Generated Files
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Resource Files
-
-
- Resource Files
-
-
- Resource Files
-
-
-
\ No newline at end of file