add detailed sfml example

add simple wxWidgets example
This commit is contained in:
2025-02-26 12:59:43 +01:00
parent 803701d6ef
commit 9e336c5677
7 changed files with 238 additions and 2 deletions
+10
View File
@@ -7,6 +7,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intro", "intro\intro.vcxpro
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sfml", "sfml\sfml.vcxproj", "{A4867C7F-0C8C-471F-92D6-D7017E813975}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sfml", "sfml\sfml.vcxproj", "{A4867C7F-0C8C-471F-92D6-D7017E813975}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxWidgets", "wxWidgets\wxWidgets.vcxproj", "{62CADE1F-B8ED-44C4-B16E-A024B680EA45}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64 Debug|x64 = Debug|x64
@@ -31,6 +33,14 @@ Global
{A4867C7F-0C8C-471F-92D6-D7017E813975}.Release|x64.Build.0 = Release|x64 {A4867C7F-0C8C-471F-92D6-D7017E813975}.Release|x64.Build.0 = Release|x64
{A4867C7F-0C8C-471F-92D6-D7017E813975}.Release|x86.ActiveCfg = Release|Win32 {A4867C7F-0C8C-471F-92D6-D7017E813975}.Release|x86.ActiveCfg = Release|Win32
{A4867C7F-0C8C-471F-92D6-D7017E813975}.Release|x86.Build.0 = Release|Win32 {A4867C7F-0C8C-471F-92D6-D7017E813975}.Release|x86.Build.0 = Release|Win32
{62CADE1F-B8ED-44C4-B16E-A024B680EA45}.Debug|x64.ActiveCfg = Debug|x64
{62CADE1F-B8ED-44C4-B16E-A024B680EA45}.Debug|x64.Build.0 = Debug|x64
{62CADE1F-B8ED-44C4-B16E-A024B680EA45}.Debug|x86.ActiveCfg = Debug|Win32
{62CADE1F-B8ED-44C4-B16E-A024B680EA45}.Debug|x86.Build.0 = Debug|Win32
{62CADE1F-B8ED-44C4-B16E-A024B680EA45}.Release|x64.ActiveCfg = Release|x64
{62CADE1F-B8ED-44C4-B16E-A024B680EA45}.Release|x64.Build.0 = Release|x64
{62CADE1F-B8ED-44C4-B16E-A024B680EA45}.Release|x86.ActiveCfg = Release|Win32
{62CADE1F-B8ED-44C4-B16E-A024B680EA45}.Release|x86.Build.0 = Release|Win32
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

+36 -2
View File
@@ -1,13 +1,47 @@
#include "SFML/Graphics.hpp" #include "SFML/Graphics.hpp"
//using namespace sf; using namespace sf;
int main() int main()
{ {
sf::RenderWindow window(sf::VideoMode({ 640, 480 }), "Hello World Example"); RenderWindow window(VideoMode({ 640, 480 }), "Hello World Example");
CircleShape circle(100.0f);
circle.setFillColor(Color(200, 0, 0));
Texture texture("assets/card_clubs_02.png");
Sprite sprite(texture);
while (window.isOpen()) while (window.isOpen())
{ {
while (const std::optional event = window.pollEvent())
{
if (event->is<Event::Closed>())
{
window.close();
}
//else if (event->is<Event::KeyPressed>()) {
else if (const Event::KeyPressed* keyPressed = event->getIf<Event::KeyPressed>())
{
if (keyPressed->scancode == Keyboard::Scancode::Escape)
{
window.close();
}
}
}
// move circle
//circle.setPosition(circle.getPosition() + Vector2f(1, 0));
if (Keyboard::isKeyPressed(Keyboard::Scancode::Right))
{
circle.setPosition(circle.getPosition() + Vector2f(1, 0));
}
// clear window to start each frame from scratch
window.clear();
window.draw(circle);
window.draw(sprite);
window.display(); window.display();
} }
+13
View File
@@ -0,0 +1,13 @@
#include "MyApp.h"
bool MyApp::OnInit()
{
wxFrame* pFrame = new wxFrame(nullptr, wxID_ANY, "Hello World");
wxPanel* pPanel = new wxPanel(pFrame);
wxButton* pButton = new wxButton(pPanel, wxID_ANY, "Click me", wxPoint(10, 10), wxSize(100, 30));
pFrame->Show();
return true;
}
+10
View File
@@ -0,0 +1,10 @@
#pragma once
#include <wx/wx.h>
class MyApp : public wxApp
{
public:
bool OnInit() override;
};
wxIMPLEMENT_APP(MyApp);
+142
View File
@@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{62cade1f-b8ed-44c4-b16e-a024b680ea45}</ProjectGuid>
<RootNamespace>wxWidgets</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\..\..\..\wxWidgets-3.2.6\wxwidgets.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\..\..\..\wxWidgets-3.2.6\wxwidgets.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\..\..\..\wxWidgets-3.2.6\wxwidgets.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\..\..\..\wxWidgets-3.2.6\wxwidgets.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="MyApp.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="MyApp.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="MyApp.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="MyApp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>