Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Added GLIMM (using IMM instead of TSF)

Uses small bit of TSF to fully disable cicero (TSF for non-TSF enabled apps)
  • Loading branch information
dewyatt committed Jun 30, 2010
1 parent affae43 commit 19d9eaa460d9cabb218874b800daf698d7ba7e89
@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GLIMM", "GLIMM.vcproj", "{F21B830F-20A9-4473-B67A-21D1743C6E19}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F21B830F-20A9-4473-B67A-21D1743C6E19}.Debug|Win32.ActiveCfg = Debug|Win32
{F21B830F-20A9-4473-B67A-21D1743C6E19}.Debug|Win32.Build.0 = Debug|Win32
{F21B830F-20A9-4473-B67A-21D1743C6E19}.Release|Win32.ActiveCfg = Release|Win32
{F21B830F-20A9-4473-B67A-21D1743C6E19}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
@@ -0,0 +1,233 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="GLIMM"
ProjectGUID="{F21B830F-20A9-4473-B67A-21D1743C6E19}"
RootNamespace="GLIMM"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)bin"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="imm32.lib"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)bin"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="imm32.lib"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\src\App.cpp"
>
</File>
<File
RelativePath=".\src\IMM.cpp"
>
</File>
<File
RelativePath=".\src\Main.cpp"
>
</File>
<File
RelativePath=".\src\Video_Mode.cpp"
>
</File>
<File
RelativePath=".\src\Window.cpp"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\include\App.hpp"
>
</File>
<File
RelativePath=".\include\IMM.hpp"
>
</File>
<File
RelativePath=".\include\Video_Mode.hpp"
>
</File>
<File
RelativePath=".\include\Window.hpp"
>
</File>
<File
RelativePath=".\include\Window_Listener.hpp"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
@@ -0,0 +1,36 @@
#ifndef APP_HPP
#define APP_HPP

#include "Window.hpp"

class App : public Window_Listener
{
public:
App();
virtual ~App();

void Initialize();
void Finalize();

void Run();

virtual void On_Close();
virtual void On_Key_Down(int Key);
virtual void On_Key_Up(int Key);
virtual void On_Char(unsigned int Char);
virtual void On_Resized(unsigned int Width, unsigned int Height);

private:
void Update();
void Draw();

static const int Width = 800;
static const int Height = 600;
static const int Bits_Per_Pixel = 32;
static const bool Fullscreen = false;

Window my_Window;
bool my_Done;
};

#endif
@@ -0,0 +1,30 @@
#ifndef IMM_HPP
#define IMM_HPP

#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#include <msctf.h>

class IMM
{
public:
IMM();
~IMM();

void Initialize(HWND Window);
void Finalize();

LRESULT Handle_Message(HWND Window, UINT Message, WPARAM wParam, LPARAM lParam, bool &Ate);

private:
void Update_Input_Locale();

bool my_COM_Initialized;
ITfThreadMgr *my_Thread_Manager;
HWND my_Window;
HIMC my_Context;
HKL my_HKL;
bool my_Vertical_Candidates;
};

#endif
@@ -0,0 +1,30 @@
#ifndef VIDEO_MODE_HPP
#define VIDEO_MODE_HPP

#include <cstddef>

class Video_Mode
{
public:
Video_Mode();
Video_Mode(unsigned int The_Width, unsigned int The_Height, unsigned int The_Bits_Per_Pixel);

static Video_Mode Get_Desktop_Mode();

static std::size_t Get_Mode_Count();
static Video_Mode Get_Mode(std::size_t Index);

bool Is_Valid() const;

bool operator==(const Video_Mode &Mode) const;
bool operator!=(const Video_Mode &Mode) const;

unsigned int Width;
unsigned int Height;
unsigned int Bits_Per_Pixel;

private:
static void Initialize_Modes();
};

#endif

0 comments on commit 19d9eaa

Please sign in to comment.