Skip to content

Commit

Permalink
prepared first release
Browse files Browse the repository at this point in the history
  • Loading branch information
arBmind committed Apr 16, 2017
1 parent 51c32df commit 024deb6
Show file tree
Hide file tree
Showing 31 changed files with 149 additions and 56 deletions.
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The MIT License (MIT)

Copyright (c) 2017 Andreas Reischuck

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
72 changes: 72 additions & 0 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Windows Desktop Duplication Tool

This is a little tool for live coding presentations.

I like to see the IDE on my laptop screen. But I don't want to duplicate the screen, so I can see my private notes.

I could not find such a tool, so I created this.


## Features

By default the primary screen is duplicated to a window.

Interactions:

* Move the window whereever you need it. Beamers for live coding and presentations.
* You can resize the window as you like. This changes the portion of the screen that is visible.
* Double Left Mouseclick maximizes the window.
* Maximized window looses the window frame. Ideal for presentations.
* CTRL + Mousewheel allows you to zoom
* CTRL + SHIFT + Mousewheel zooms in smaller steps
* SHIFT + Left Mouse Button + Panning allows you to move the visible portion
* Double Right Mouseclick + Select another window will position and resize this window to fit in the visible area. (Not all windows will like this.)
The tool is optimized to be very response and save CPU time.

## History

### 2.0 - TBA

* Your Ideas are welcome (see Contributions)
### 1.0 - 2017-04-16 (Revision Easter Release)

* first public version
* hand crafted at the Revision Demo Party
* basic features are working
## Requirements

* DirectX 9+
* Windows 8.1+
## Build

The tool was build using Visual Studio 2017.
I made use of modern C++ 14 and beyond features.

The only other thing you need is the DirectX and Windows and WRL headers. All included in the Windows 10 SDK.

If you have issues please ask.


## License

Read the LICENSE file!


## Contributions

If you have issues or questions feel free to open a ticket.

If you can answer a question in a ticket, help is appriciated.

If you like the tool, leave a star on Github and spread the love.

All usefull pull requests are welcome! If you have an idea and are unsure, please open a ticket for discussions.

Enjoy!

## \0
56 changes: 28 additions & 28 deletions desktop-duplication.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -195,40 +195,40 @@
</FxCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="application.cpp" />
<ClCompile Include="base_renderer.cpp" />
<ClCompile Include="capture_thread.cpp" />
<ClCompile Include="frame_updater.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="renderer.cpp" />
<ClCompile Include="window_renderer.cpp" />
<ClInclude Include="application.h" />
<ClInclude Include="base_renderer.h" />
<ClInclude Include="captured_update.h" />
<ClInclude Include="capture_thread.h" />
<ClInclude Include="frame_updater.h" />
<ClInclude Include="meta\array.h" />
<ClInclude Include="meta\array_view.h" />
<ClInclude Include="meta\bits.h" />
<ClInclude Include="meta\comptr.h" />
<ClInclude Include="meta\flags.h" />
<ClInclude Include="meta\opaque_value.h" />
<ClInclude Include="meta\result.h" />
<ClInclude Include="meta\scope_guard.h" />
<ClInclude Include="meta\string_view.h" />
<ClInclude Include="meta\tuple.h" />
<ClInclude Include="renderer.h" />
<ClInclude Include="stable.h" />
<ClInclude Include="window_renderer.h" />
<ClCompile Include="src\application.cpp" />
<ClCompile Include="src\base_renderer.cpp" />
<ClCompile Include="src\capture_thread.cpp" />
<ClCompile Include="src\frame_updater.cpp" />
<ClCompile Include="src\main.cpp" />
<ClCompile Include="src\renderer.cpp" />
<ClCompile Include="src\window_renderer.cpp" />
<ClInclude Include="src\application.h" />
<ClInclude Include="src\base_renderer.h" />
<ClInclude Include="src\captured_update.h" />
<ClInclude Include="src\capture_thread.h" />
<ClInclude Include="src\frame_updater.h" />
<ClInclude Include="src\meta\array.h" />
<ClInclude Include="src\meta\array_view.h" />
<ClInclude Include="src\meta\bits.h" />
<ClInclude Include="src\meta\comptr.h" />
<ClInclude Include="src\meta\flags.h" />
<ClInclude Include="src\meta\opaque_value.h" />
<ClInclude Include="src\meta\result.h" />
<ClInclude Include="src\meta\scope_guard.h" />
<ClInclude Include="src\meta\string_view.h" />
<ClInclude Include="src\meta\tuple.h" />
<ClInclude Include="src\renderer.h" />
<ClInclude Include="src\stable.h" />
<ClInclude Include="src\window_renderer.h" />
</ItemGroup>
<ItemGroup>
<FxCompile Include="PixelShader.hlsl">
<FxCompile Include="src\PixelShader.hlsl">
<ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Pixel</ShaderType>
<ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Pixel</ShaderType>
<ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Pixel</ShaderType>
<ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Pixel</ShaderType>
</FxCompile>
<FxCompile Include="VertexShader.hlsl">
<FxCompile Include="src\VertexShader.hlsl">
<ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Vertex</ShaderType>
<ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Vertex</ShaderType>
<ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Vertex</ShaderType>
Expand All @@ -238,4 +238,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>
56 changes: 28 additions & 28 deletions desktop-duplication.vcxproj.filters
Original file line number Diff line number Diff line change
@@ -1,61 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<FxCompile Include="PixelShader.hlsl" />
<FxCompile Include="VertexShader.hlsl" />
<FxCompile Include="src\PixelShader.hlsl" />
<FxCompile Include="src\VertexShader.hlsl" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="application.cpp" />
<ClCompile Include="capture_thread.cpp" />
<ClCompile Include="frame_updater.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="renderer.cpp" />
<ClCompile Include="window_renderer.cpp" />
<ClCompile Include="base_renderer.cpp" />
<ClCompile Include="src\application.cpp" />
<ClCompile Include="src\capture_thread.cpp" />
<ClCompile Include="src\frame_updater.cpp" />
<ClCompile Include="src\main.cpp" />
<ClCompile Include="src\renderer.cpp" />
<ClCompile Include="src\window_renderer.cpp" />
<ClCompile Include="src\base_renderer.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="application.h" />
<ClInclude Include="captured_update.h" />
<ClInclude Include="capture_thread.h" />
<ClInclude Include="frame_updater.h" />
<ClInclude Include="renderer.h" />
<ClInclude Include="stable.h" />
<ClInclude Include="meta\array.h">
<ClInclude Include="src\application.h" />
<ClInclude Include="src\captured_update.h" />
<ClInclude Include="src\capture_thread.h" />
<ClInclude Include="src\frame_updater.h" />
<ClInclude Include="src\renderer.h" />
<ClInclude Include="src\stable.h" />
<ClInclude Include="src\window_renderer.h" />
<ClInclude Include="src\base_renderer.h" />
<ClInclude Include="src\meta\array.h">
<Filter>meta</Filter>
</ClInclude>
<ClInclude Include="meta\array_view.h">
<ClInclude Include="src\meta\array_view.h">
<Filter>meta</Filter>
</ClInclude>
<ClInclude Include="meta\bits.h">
<ClInclude Include="src\meta\bits.h">
<Filter>meta</Filter>
</ClInclude>
<ClInclude Include="meta\flags.h">
<ClInclude Include="src\meta\comptr.h">
<Filter>meta</Filter>
</ClInclude>
<ClInclude Include="meta\comptr.h">
<ClInclude Include="src\meta\flags.h">
<Filter>meta</Filter>
</ClInclude>
<ClInclude Include="meta\opaque_value.h">
<ClInclude Include="src\meta\result.h">
<Filter>meta</Filter>
</ClInclude>
<ClInclude Include="meta\result.h">
<ClInclude Include="src\meta\tuple.h">
<Filter>meta</Filter>
</ClInclude>
<ClInclude Include="meta\tuple.h">
<ClInclude Include="src\meta\scope_guard.h">
<Filter>meta</Filter>
</ClInclude>
<ClInclude Include="meta\string_view.h">
<ClInclude Include="src\meta\opaque_value.h">
<Filter>meta</Filter>
</ClInclude>
<ClInclude Include="meta\scope_guard.h">
<ClInclude Include="src\meta\string_view.h">
<Filter>meta</Filter>
</ClInclude>
<ClInclude Include="window_renderer.h" />
<ClInclude Include="base_renderer.h" />
</ItemGroup>
<ItemGroup>
<Filter Include="meta">
<UniqueIdentifier>{963a799d-415f-478b-a5c7-4ada0d181706}</UniqueIdentifier>
<UniqueIdentifier>{c1306954-4001-4709-97a0-8b2ff7c09077}</UniqueIdentifier>
</Filter>
</ItemGroup>
</Project>
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 024deb6

Please sign in to comment.