add qr generator
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"BuildId": "13144385",
|
||||
"Modules":
|
||||
{
|
||||
"QRcode": "UE4Editor-QRcode.dll"
|
||||
}
|
||||
}
|
||||
BIN
Binary file not shown.
+292
@@ -0,0 +1,292 @@
|
||||
#undef QRCODE_API
|
||||
#undef UE_IS_ENGINE_MODULE
|
||||
#undef DEPRECATED_FORGAME
|
||||
#define DEPRECATED_FORGAME DEPRECATED
|
||||
#undef UE_DEPRECATED_FORGAME
|
||||
#define UE_DEPRECATED_FORGAME UE_DEPRECATED
|
||||
#define IS_PROGRAM 0
|
||||
#define UE_EDITOR 1
|
||||
#define ENABLE_PGO_PROFILE 0
|
||||
#define USE_VORBIS_FOR_STREAMING 1
|
||||
#define USE_XMA2_FOR_STREAMING 1
|
||||
#define WITH_DEV_AUTOMATION_TESTS 1
|
||||
#define WITH_PERF_AUTOMATION_TESTS 1
|
||||
#define UNICODE 1
|
||||
#define _UNICODE 1
|
||||
#define __UNREAL__ 1
|
||||
#define IS_MONOLITHIC 0
|
||||
#define WITH_ENGINE 1
|
||||
#define WITH_UNREAL_DEVELOPER_TOOLS 1
|
||||
#define WITH_APPLICATION_CORE 1
|
||||
#define WITH_COREUOBJECT 1
|
||||
#define USE_STATS_WITHOUT_ENGINE 0
|
||||
#define WITH_PLUGIN_SUPPORT 0
|
||||
#define WITH_ACCESSIBILITY 1
|
||||
#define WITH_PERFCOUNTERS 1
|
||||
#define USE_LOGGING_IN_SHIPPING 0
|
||||
#define WITH_LOGGING_TO_MEMORY 0
|
||||
#define USE_CACHE_FREED_OS_ALLOCS 1
|
||||
#define USE_CHECKS_IN_SHIPPING 0
|
||||
#define WITH_EDITOR 1
|
||||
#define WITH_SERVER_CODE 1
|
||||
#define WITH_PUSH_MODEL 0
|
||||
#define WITH_CEF3 1
|
||||
#define WITH_LIVE_CODING 1
|
||||
#define WITH_XGE_CONTROLLER 1
|
||||
#define UBT_MODULE_MANIFEST "UE4Editor.modules"
|
||||
#define UBT_MODULE_MANIFEST_DEBUGGAME "UE4Editor-Win64-DebugGame.modules"
|
||||
#define UBT_COMPILED_PLATFORM Win64
|
||||
#define UBT_COMPILED_TARGET Editor
|
||||
#define UE_APP_NAME "UE4Editor"
|
||||
#define NDIS_MINIPORT_MAJOR_VERSION 0
|
||||
#define WIN32 1
|
||||
#define _WIN32_WINNT 0x0601
|
||||
#define WINVER 0x0601
|
||||
#define PLATFORM_WINDOWS 1
|
||||
#define PLATFORM_MICROSOFT 1
|
||||
#define OVERRIDE_PLATFORM_HEADER_NAME Windows
|
||||
#define RHI_RAYTRACING 1
|
||||
#define NDEBUG 1
|
||||
#define UE_BUILD_DEVELOPMENT 1
|
||||
#define UE_IS_ENGINE_MODULE 0
|
||||
#define UE_PROJECT_NAME MKCC
|
||||
#define UE_TARGET_NAME MKCCEditor
|
||||
#define IMPLEMENT_ENCRYPTION_KEY_REGISTRATION()
|
||||
#define IMPLEMENT_SIGNING_KEY_REGISTRATION()
|
||||
#define DEPRECATED_FORGAME DEPRECATED
|
||||
#define UE_DEPRECATED_FORGAME UE_DEPRECATED
|
||||
#define COREUOBJECT_API DLLIMPORT
|
||||
#define UE_ENABLE_ICU 1
|
||||
#define WITH_VS_PERF_PROFILER 0
|
||||
#define WITH_DIRECTXMATH 0
|
||||
#define WITH_MALLOC_STOMP 1
|
||||
#define CORE_API DLLIMPORT
|
||||
#define TRACELOG_API DLLIMPORT
|
||||
#define INCLUDE_CHAOS 0
|
||||
#define WITH_PHYSX 1
|
||||
#define WITH_CHAOS 0
|
||||
#define WITH_CHAOS_CLOTHING 0
|
||||
#define WITH_CHAOS_NEEDS_TO_BE_FIXED 0
|
||||
#define PHYSICS_INTERFACE_PHYSX 1
|
||||
#define WITH_APEX 1
|
||||
#define WITH_APEX_CLOTHING 1
|
||||
#define WITH_CLOTH_COLLISION_DETECTION 1
|
||||
#define WITH_PHYSX_COOKING 1
|
||||
#define WITH_NVCLOTH 1
|
||||
#define WITH_CUSTOM_SQ_STRUCTURE 0
|
||||
#define WITH_IMMEDIATE_PHYSX 0
|
||||
#define GPUPARTICLE_LOCAL_VF_ONLY 0
|
||||
#define ENGINE_API DLLIMPORT
|
||||
#define NETCORE_API DLLIMPORT
|
||||
#define APPLICATIONCORE_API DLLIMPORT
|
||||
#define RHI_API DLLIMPORT
|
||||
#define JSON_API DLLIMPORT
|
||||
#define WITH_FREETYPE 1
|
||||
#define SLATECORE_API DLLIMPORT
|
||||
#define INPUTCORE_API DLLIMPORT
|
||||
#define SLATE_API DLLIMPORT
|
||||
#define WITH_UNREALPNG 1
|
||||
#define WITH_UNREALJPEG 1
|
||||
#define WITH_UNREALEXR 1
|
||||
#define IMAGEWRAPPER_API DLLIMPORT
|
||||
#define MESSAGING_API DLLIMPORT
|
||||
#define MESSAGINGCOMMON_API DLLIMPORT
|
||||
#define RENDERCORE_API DLLIMPORT
|
||||
#define ANALYTICSET_API DLLIMPORT
|
||||
#define ANALYTICS_API DLLIMPORT
|
||||
#define SOCKETS_PACKAGE 1
|
||||
#define SOCKETS_API DLLIMPORT
|
||||
#define ASSETREGISTRY_API DLLIMPORT
|
||||
#define ENGINEMESSAGES_API DLLIMPORT
|
||||
#define ENGINESETTINGS_API DLLIMPORT
|
||||
#define SYNTHBENCHMARK_API DLLIMPORT
|
||||
#define RENDERER_API DLLIMPORT
|
||||
#define GAMEPLAYTAGS_API DLLIMPORT
|
||||
#define PACKETHANDLER_API DLLIMPORT
|
||||
#define RELIABILITYHANDLERCOMPONENT_API DLLIMPORT
|
||||
#define AUDIOPLATFORMCONFIGURATION_API DLLIMPORT
|
||||
#define MESHDESCRIPTION_API DLLIMPORT
|
||||
#define STATICMESHDESCRIPTION_API DLLIMPORT
|
||||
#define PAKFILE_API DLLIMPORT
|
||||
#define RSA_API DLLIMPORT
|
||||
#define NETWORKREPLAYSTREAMING_API DLLIMPORT
|
||||
#define INCLUDE_CHAOS 0
|
||||
#define WITH_PHYSX 1
|
||||
#define WITH_CHAOS 0
|
||||
#define WITH_CHAOS_CLOTHING 0
|
||||
#define WITH_CHAOS_NEEDS_TO_BE_FIXED 0
|
||||
#define PHYSICS_INTERFACE_PHYSX 1
|
||||
#define WITH_APEX 1
|
||||
#define WITH_APEX_CLOTHING 1
|
||||
#define WITH_CLOTH_COLLISION_DETECTION 1
|
||||
#define WITH_PHYSX_COOKING 1
|
||||
#define WITH_NVCLOTH 1
|
||||
#define WITH_CUSTOM_SQ_STRUCTURE 0
|
||||
#define WITH_IMMEDIATE_PHYSX 0
|
||||
#define PHYSICSCORE_API DLLIMPORT
|
||||
#define COMPILE_WITHOUT_UNREAL_SUPPORT 0
|
||||
#define INCLUDE_CHAOS 0
|
||||
#define CHAOS_MEMORY_TRACKING 0
|
||||
#define CHAOS_API DLLIMPORT
|
||||
#define COMPILE_WITHOUT_UNREAL_SUPPORT 0
|
||||
#define INCLUDE_CHAOS 0
|
||||
#define CHAOS_CHECKED 0
|
||||
#define CHAOSCORE_API DLLIMPORT
|
||||
#define INTEL_ISPC 1
|
||||
#define VORONOI_API DLLIMPORT
|
||||
#define FIELDSYSTEMCORE_API DLLIMPORT
|
||||
#define WITH_PHYSX_RELEASE 0
|
||||
#define UE_PHYSX_SUFFIX PROFILE
|
||||
#define UE_APEX_SUFFIX PROFILE
|
||||
#define APEX_UE4 1
|
||||
#define APEX_STATICALLY_LINKED 0
|
||||
#define WITH_APEX_LEGACY 1
|
||||
#define SIGNALPROCESSING_API DLLIMPORT
|
||||
#define AUDIOEXTENSIONS_API DLLIMPORT
|
||||
#define AUDIOMIXERCORE_API DLLIMPORT
|
||||
#define INCLUDE_CHAOS 0
|
||||
#define WITH_PHYSX 1
|
||||
#define WITH_CHAOS 0
|
||||
#define WITH_CHAOS_CLOTHING 0
|
||||
#define WITH_CHAOS_NEEDS_TO_BE_FIXED 0
|
||||
#define PHYSICS_INTERFACE_PHYSX 1
|
||||
#define WITH_APEX 1
|
||||
#define WITH_APEX_CLOTHING 1
|
||||
#define WITH_CLOTH_COLLISION_DETECTION 1
|
||||
#define WITH_PHYSX_COOKING 1
|
||||
#define WITH_NVCLOTH 1
|
||||
#define WITH_CUSTOM_SQ_STRUCTURE 0
|
||||
#define WITH_IMMEDIATE_PHYSX 0
|
||||
#define WITH_RECAST 1
|
||||
#define UNREALED_API DLLIMPORT
|
||||
#define DIRECTORYWATCHER_API DLLIMPORT
|
||||
#define DOCUMENTATION_API DLLIMPORT
|
||||
#define LOAD_PLUGINS_FOR_TARGET_PLATFORMS 1
|
||||
#define PROJECTS_API DLLIMPORT
|
||||
#define SANDBOXFILE_API DLLIMPORT
|
||||
#define EDITORSTYLE_API DLLIMPORT
|
||||
#define SOURCE_CONTROL_WITH_SLATE 1
|
||||
#define SOURCECONTROL_API DLLIMPORT
|
||||
#define UNREALEDMESSAGES_API DLLIMPORT
|
||||
#define GAMEPLAYDEBUGGER_API DLLIMPORT
|
||||
#define BLUEPRINTGRAPH_API DLLIMPORT
|
||||
#define EDITORSUBSYSTEM_API DLLIMPORT
|
||||
#define HTTP_PACKAGE 1
|
||||
#define CURL_ENABLE_DEBUG_CALLBACK 1
|
||||
#define CURL_ENABLE_NO_TIMEOUTS_OPTION 1
|
||||
#define HTTP_API DLLIMPORT
|
||||
#define UNREALAUDIO_API DLLIMPORT
|
||||
#define FUNCTIONALTESTING_API DLLIMPORT
|
||||
#define AUTOMATIONCONTROLLER_API DLLIMPORT
|
||||
#define LOCALIZATION_API DLLIMPORT
|
||||
#define WITH_SNDFILE_IO 1
|
||||
#define AUDIOEDITOR_API DLLIMPORT
|
||||
#define AUDIOMIXER_API DLLIMPORT
|
||||
#define TARGETPLATFORM_API DLLIMPORT
|
||||
#define LEVELEDITOR_API DLLIMPORT
|
||||
#define SETTINGS_API DLLIMPORT
|
||||
#define INTROTUTORIALS_API DLLIMPORT
|
||||
#define HEADMOUNTEDDISPLAY_API DLLIMPORT
|
||||
#define VREDITOR_API DLLIMPORT
|
||||
#define COMMONMENUEXTENSIONS_API DLLIMPORT
|
||||
#define INCLUDE_CHAOS 0
|
||||
#define WITH_PHYSX 1
|
||||
#define WITH_CHAOS 0
|
||||
#define WITH_CHAOS_CLOTHING 0
|
||||
#define WITH_CHAOS_NEEDS_TO_BE_FIXED 0
|
||||
#define PHYSICS_INTERFACE_PHYSX 1
|
||||
#define WITH_APEX 1
|
||||
#define WITH_APEX_CLOTHING 1
|
||||
#define WITH_CLOTH_COLLISION_DETECTION 1
|
||||
#define WITH_PHYSX_COOKING 1
|
||||
#define WITH_NVCLOTH 1
|
||||
#define WITH_CUSTOM_SQ_STRUCTURE 0
|
||||
#define WITH_IMMEDIATE_PHYSX 0
|
||||
#define LANDSCAPE_API DLLIMPORT
|
||||
#define PROPERTYEDITOR_API DLLIMPORT
|
||||
#define ACTORPICKERMODE_API DLLIMPORT
|
||||
#define SCENEDEPTHPICKERMODE_API DLLIMPORT
|
||||
#define DETAILCUSTOMIZATIONS_API DLLIMPORT
|
||||
#define CLASSVIEWER_API DLLIMPORT
|
||||
#define GRAPHEDITOR_API DLLIMPORT
|
||||
#define STRUCTVIEWER_API DLLIMPORT
|
||||
#define CONTENTBROWSER_API DLLIMPORT
|
||||
#define UELIBSAMPLERATE_API DLLIMPORT
|
||||
#define ENABLE_HTTP_FOR_NFS 1
|
||||
#define NETWORKFILESYSTEM_API DLLIMPORT
|
||||
#define UMG_API DLLIMPORT
|
||||
#define MOVIESCENE_API DLLIMPORT
|
||||
#define TIMEMANAGEMENT_API DLLIMPORT
|
||||
#define MOVIESCENETRACKS_API DLLIMPORT
|
||||
#define ANIMATIONCORE_API DLLIMPORT
|
||||
#define PROPERTYPATH_API DLLIMPORT
|
||||
#define INCLUDE_CHAOS 0
|
||||
#define WITH_PHYSX 1
|
||||
#define WITH_CHAOS 0
|
||||
#define WITH_CHAOS_CLOTHING 0
|
||||
#define WITH_CHAOS_NEEDS_TO_BE_FIXED 0
|
||||
#define PHYSICS_INTERFACE_PHYSX 1
|
||||
#define WITH_APEX 1
|
||||
#define WITH_APEX_CLOTHING 1
|
||||
#define WITH_CLOTH_COLLISION_DETECTION 1
|
||||
#define WITH_PHYSX_COOKING 1
|
||||
#define WITH_NVCLOTH 1
|
||||
#define WITH_CUSTOM_SQ_STRUCTURE 0
|
||||
#define WITH_IMMEDIATE_PHYSX 0
|
||||
#define WITH_RECAST 1
|
||||
#define NAVIGATIONSYSTEM_API DLLIMPORT
|
||||
#define MESHBUILDER_API DLLIMPORT
|
||||
#define MATERIALSHADERQUALITYSETTINGS_API DLLIMPORT
|
||||
#define INTERACTIVETOOLSFRAMEWORK_API DLLIMPORT
|
||||
#define TOOLMENUSEDITOR_API DLLIMPORT
|
||||
#define WITH_OGGVORBIS 1
|
||||
#define XAUDIO2_API DLLIMPORT
|
||||
#define AUDIOMIXERXAUDIO2_API DLLIMPORT
|
||||
#define ASSETTAGSEDITOR_API DLLIMPORT
|
||||
#define COLLECTIONMANAGER_API DLLIMPORT
|
||||
#define ADDCONTENTDIALOG_API DLLIMPORT
|
||||
#define USE_EMBREE 1
|
||||
#define MESHUTILITIES_API DLLIMPORT
|
||||
#define MESHMERGEUTILITIES_API DLLIMPORT
|
||||
#define HIERARCHICALLODUTILITIES_API DLLIMPORT
|
||||
#define MESHREDUCTIONINTERFACE_API DLLIMPORT
|
||||
#define ASSETTOOLS_API DLLIMPORT
|
||||
#define KISMETCOMPILER_API DLLIMPORT
|
||||
#define GAMEPLAYTASKS_API DLLIMPORT
|
||||
#define WITH_RECAST 1
|
||||
#define WITH_GAMEPLAY_DEBUGGER 1
|
||||
#define AIMODULE_API DLLIMPORT
|
||||
#define KISMET_API DLLIMPORT
|
||||
#define INCLUDE_CHAOS 0
|
||||
#define WITH_PHYSX 1
|
||||
#define WITH_CHAOS 0
|
||||
#define WITH_CHAOS_CLOTHING 0
|
||||
#define WITH_CHAOS_NEEDS_TO_BE_FIXED 0
|
||||
#define PHYSICS_INTERFACE_PHYSX 1
|
||||
#define WITH_APEX 1
|
||||
#define WITH_APEX_CLOTHING 1
|
||||
#define WITH_CLOTH_COLLISION_DETECTION 1
|
||||
#define WITH_PHYSX_COOKING 1
|
||||
#define WITH_NVCLOTH 1
|
||||
#define WITH_CUSTOM_SQ_STRUCTURE 0
|
||||
#define WITH_IMMEDIATE_PHYSX 0
|
||||
#define PHYSICSSQ_API DLLIMPORT
|
||||
#define COMPILE_WITHOUT_UNREAL_SUPPORT 0
|
||||
#define CHAOSSOLVERS_API DLLIMPORT
|
||||
#define GEOMETRYCOLLECTIONCORE_API DLLIMPORT
|
||||
#define GEOMETRYCOLLECTIONSIMULATIONCORE_API DLLIMPORT
|
||||
#define INCLUDE_CHAOS 0
|
||||
#define WITH_PHYSX 1
|
||||
#define WITH_CHAOS 0
|
||||
#define WITH_CHAOS_CLOTHING 0
|
||||
#define WITH_CHAOS_NEEDS_TO_BE_FIXED 0
|
||||
#define PHYSICS_INTERFACE_PHYSX 1
|
||||
#define WITH_APEX 1
|
||||
#define WITH_APEX_CLOTHING 1
|
||||
#define WITH_CLOTH_COLLISION_DETECTION 1
|
||||
#define WITH_PHYSX_COOKING 1
|
||||
#define WITH_NVCLOTH 1
|
||||
#define WITH_CUSTOM_SQ_STRUCTURE 0
|
||||
#define WITH_IMMEDIATE_PHYSX 0
|
||||
#define CLOTHINGSYSTEMRUNTIMEINTERFACE_API DLLIMPORT
|
||||
#define QRCODE_API DLLEXPORT
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"RemapUnityFiles":
|
||||
{
|
||||
"Module.QRcode.cpp.obj": [
|
||||
"QRcode.cpp.obj",
|
||||
"QRCodeBlueprintFunctionLibrary.cpp.obj"
|
||||
],
|
||||
"Module.QRcode.gen.cpp.obj": [
|
||||
"QRcode.init.gen.cpp.obj",
|
||||
"QRCodeBlueprintFunctionLibrary.gen.cpp.obj"
|
||||
]
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
// This file is automatically generated at compile-time to include some subset of the user-created cpp files.
|
||||
#include "D:/UE4Projects/MKCC/Plugins/QRCode-master/Source/QRcode/Private/QRcode.cpp"
|
||||
#include "D:/UE4Projects/MKCC/Plugins/QRCode-master/Source/QRcode/Private/QRCodeBlueprintFunctionLibrary.cpp"
|
||||
+275
@@ -0,0 +1,275 @@
|
||||
/Zc:inline
|
||||
/nologo
|
||||
/Oi
|
||||
/c
|
||||
/Gw
|
||||
/Gy
|
||||
/Zm1000
|
||||
/wd4819
|
||||
/D_CRT_STDIO_LEGACY_WIDE_SPECIFIERS=1
|
||||
/D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS=1
|
||||
/D_WINDLL
|
||||
/D_DISABLE_EXTENDED_ALIGNED_STORAGE
|
||||
/source-charset:utf-8
|
||||
/execution-charset:utf-8
|
||||
/Ox
|
||||
/Ot
|
||||
/GF
|
||||
/Ob2
|
||||
/errorReport:prompt
|
||||
/EHsc
|
||||
/Z7
|
||||
/MD
|
||||
/bigobj
|
||||
/fp:fast
|
||||
/Zo
|
||||
/Zp8
|
||||
/we4456
|
||||
/we4458
|
||||
/we4459
|
||||
/wd4463
|
||||
/we4668
|
||||
/wd4244
|
||||
/wd4838
|
||||
/I .
|
||||
/I D:\UE4Projects\MKCC\Plugins\QRCode-master\Source\QRcode\Private
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\CoreUObject
|
||||
/I Runtime
|
||||
/I Runtime\CoreUObject\Public
|
||||
/I Runtime\TraceLog\Public
|
||||
/I Runtime\Core\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\Engine
|
||||
/I Runtime\Engine\Classes
|
||||
/I Runtime\Engine\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\NetCore
|
||||
/I Runtime\Net
|
||||
/I Runtime\Net\Core\Classes
|
||||
/I Runtime\Net\Core\Public
|
||||
/I Runtime\ApplicationCore\Public
|
||||
/I Runtime\RHI\Public
|
||||
/I Runtime\Json\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\SlateCore
|
||||
/I Runtime\SlateCore\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\InputCore
|
||||
/I Runtime\InputCore\Classes
|
||||
/I Runtime\InputCore\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\Slate
|
||||
/I Runtime\Slate\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\ImageWrapper
|
||||
/I Runtime\ImageWrapper\Public
|
||||
/I Runtime\Messaging\Public
|
||||
/I Runtime\MessagingCommon\Public
|
||||
/I Runtime\RenderCore\Public
|
||||
/I Runtime\Analytics
|
||||
/I Runtime\Analytics\AnalyticsET\Public
|
||||
/I Runtime\Analytics\Analytics\Public
|
||||
/I Runtime\Sockets\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AssetRegistry
|
||||
/I Runtime\AssetRegistry\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\EngineMessages
|
||||
/I Runtime\EngineMessages\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\EngineSettings
|
||||
/I Runtime\EngineSettings\Classes
|
||||
/I Runtime\EngineSettings\Public
|
||||
/I Runtime\SynthBenchmark\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\Renderer
|
||||
/I Runtime\Renderer\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\GameplayTags
|
||||
/I Runtime\GameplayTags\Classes
|
||||
/I Runtime\GameplayTags\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\PacketHandler
|
||||
/I Runtime\PacketHandlers
|
||||
/I Runtime\PacketHandlers\PacketHandler\Classes
|
||||
/I Runtime\PacketHandlers\PacketHandler\Public
|
||||
/I Runtime\PacketHandlers\ReliabilityHandlerComponent\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AudioPlatformConfiguration
|
||||
/I Runtime\AudioPlatformConfiguration\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\MeshDescription
|
||||
/I Runtime\MeshDescription\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\StaticMeshDescription
|
||||
/I Runtime\StaticMeshDescription\Public
|
||||
/I Runtime\PakFile\Public
|
||||
/I Runtime\RSA\Public
|
||||
/I Runtime\NetworkReplayStreaming
|
||||
/I Runtime\NetworkReplayStreaming\NetworkReplayStreaming\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\PhysicsCore
|
||||
/I Runtime\PhysicsCore\Public
|
||||
/I Runtime\Experimental
|
||||
/I Runtime\Experimental\Chaos\Public
|
||||
/I Runtime\Experimental\ChaosCore\Public
|
||||
/I ThirdParty
|
||||
/I Runtime\Experimental\Voronoi\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\FieldSystemCore
|
||||
/I Runtime\Experimental\FieldSystem\Source
|
||||
/I Runtime\Experimental\FieldSystem\Source\FieldSystemCore\Public
|
||||
/I Runtime\SignalProcessing\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AudioExtensions
|
||||
/I Runtime\AudioExtensions\Public
|
||||
/I Runtime\AudioMixerCore\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\UnrealEd
|
||||
/I Editor
|
||||
/I Programs\UnrealLightmass\Public
|
||||
/I Developer\Android\AndroidDeviceDetection\Public\Interfaces
|
||||
/I Editor\UnrealEd\Classes
|
||||
/I Editor\UnrealEd\Public
|
||||
/I Developer
|
||||
/I Developer\DirectoryWatcher\Public
|
||||
/I Editor\Documentation\Public
|
||||
/I Runtime\Projects\Public
|
||||
/I Runtime\SandboxFile\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\EditorStyle
|
||||
/I Editor\EditorStyle\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\SourceControl
|
||||
/I Developer\SourceControl\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\UnrealEdMessages
|
||||
/I Editor\UnrealEdMessages\Classes
|
||||
/I Editor\UnrealEdMessages\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\GameplayDebugger
|
||||
/I Developer\GameplayDebugger\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\BlueprintGraph
|
||||
/I Editor\BlueprintGraph\Classes
|
||||
/I Editor\BlueprintGraph\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\EditorSubsystem
|
||||
/I Editor\EditorSubsystem\Public
|
||||
/I Runtime\Online
|
||||
/I Runtime\Online\HTTP\Public
|
||||
/I Runtime\UnrealAudio\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\FunctionalTesting
|
||||
/I Developer\FunctionalTesting\Classes
|
||||
/I Developer\FunctionalTesting\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AutomationController
|
||||
/I Developer\AutomationController\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\Localization
|
||||
/I Developer\Localization\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AudioEditor
|
||||
/I Editor\AudioEditor\Classes
|
||||
/I Editor\AudioEditor\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AudioMixer
|
||||
/I Runtime\AudioMixer\Classes
|
||||
/I Runtime\AudioMixer\Public
|
||||
/I Developer\TargetPlatform\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\LevelEditor
|
||||
/I Editor\LevelEditor\Public
|
||||
/I Developer\Settings\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\IntroTutorials
|
||||
/I Editor\IntroTutorials\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\HeadMountedDisplay
|
||||
/I Runtime\HeadMountedDisplay\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\VREditor
|
||||
/I Editor\VREditor
|
||||
/I Editor\VREditor\Public
|
||||
/I Editor\CommonMenuExtensions\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\Landscape
|
||||
/I Runtime\Landscape\Classes
|
||||
/I Runtime\Landscape\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\PropertyEditor
|
||||
/I Editor\PropertyEditor\Public
|
||||
/I Editor\ActorPickerMode\Public
|
||||
/I Editor\SceneDepthPickerMode\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\DetailCustomizations
|
||||
/I Editor\DetailCustomizations\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\ClassViewer
|
||||
/I Editor\ClassViewer\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\GraphEditor
|
||||
/I Editor\GraphEditor\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\StructViewer
|
||||
/I Editor\StructViewer\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\ContentBrowser
|
||||
/I Editor\ContentBrowser\Public
|
||||
/I ThirdParty\libSampleRate\Public
|
||||
/I Runtime\NetworkFileSystem\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\UMG
|
||||
/I Runtime\UMG\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\MovieScene
|
||||
/I Runtime\MovieScene\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\TimeManagement
|
||||
/I Runtime\TimeManagement\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\MovieSceneTracks
|
||||
/I Runtime\MovieSceneTracks\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AnimationCore
|
||||
/I Runtime\AnimationCore\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\PropertyPath
|
||||
/I Runtime\PropertyPath\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\NavigationSystem
|
||||
/I Runtime\NavigationSystem\Public
|
||||
/I Developer\MeshBuilder\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\MaterialShaderQualitySettings
|
||||
/I Runtime\MaterialShaderQualitySettings\Classes
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\InteractiveToolsFramework
|
||||
/I Runtime\Experimental\InteractiveToolsFramework\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\ToolMenusEditor
|
||||
/I Editor\ToolMenusEditor\Public
|
||||
/I Runtime\Windows
|
||||
/I Runtime\Windows\XAudio2\Public
|
||||
/I Editor\AssetTagsEditor\Public
|
||||
/I Developer\CollectionManager\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AddContentDialog
|
||||
/I Editor\AddContentDialog\Public
|
||||
/I ThirdParty\IntelEmbree\Embree2140\Win64\include
|
||||
/I Developer\MeshUtilities\Public
|
||||
/I Developer\MeshMergeUtilities\Public
|
||||
/I Developer\HierarchicalLODUtilities\Public
|
||||
/I Developer\MeshReductionInterface\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AssetTools
|
||||
/I Developer\AssetTools\Public
|
||||
/I Editor\KismetCompiler\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\GameplayTasks
|
||||
/I Runtime\GameplayTasks\Classes
|
||||
/I Runtime\GameplayTasks\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AIModule
|
||||
/I Runtime\AIModule\Public
|
||||
/I Runtime\AIModule\Classes
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\Kismet
|
||||
/I Editor\Kismet\Classes
|
||||
/I Editor\Kismet\Public
|
||||
/I Runtime\PhysicsSQ\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\ChaosSolvers
|
||||
/I Runtime\Experimental\ChaosSolvers\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\GeometryCollectionCore
|
||||
/I Runtime\Experimental\GeometryCollectionCore\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\GeometryCollectionSimulationCore
|
||||
/I Runtime\Experimental\GeometryCollectionSimulationCore\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\ClothingSystemRuntimeInterface
|
||||
/I Runtime\ClothingSystemRuntimeInterface\Public
|
||||
/I D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Inc\QRcode
|
||||
/I D:\UE4Projects\MKCC\Plugins\QRCode-master\Source
|
||||
/I D:\UE4Projects\MKCC\Plugins\QRCode-master\ThirdParty\QREncode\include
|
||||
/I D:\UE4Projects\MKCC\Plugins\QRCode-master\Source\QRcode\Public
|
||||
/I ThirdParty\PhysX3\PxShared\include
|
||||
/I ThirdParty\PhysX3\PxShared\include\cudamanager
|
||||
/I ThirdParty\PhysX3\PxShared\include\filebuf
|
||||
/I ThirdParty\PhysX3\PxShared\include\foundation
|
||||
/I ThirdParty\PhysX3\PxShared\include\pvd
|
||||
/I ThirdParty\PhysX3\PxShared\include\task
|
||||
/I ThirdParty\PhysX3\PhysX_3.4\Include
|
||||
/I ThirdParty\PhysX3\PhysX_3.4\Include\cooking
|
||||
/I ThirdParty\PhysX3\PhysX_3.4\Include\common
|
||||
/I ThirdParty\PhysX3\PhysX_3.4\Include\extensions
|
||||
/I ThirdParty\PhysX3\PhysX_3.4\Include\geometry
|
||||
/I ThirdParty\PhysX3\APEX_1.4\include
|
||||
/I ThirdParty\PhysX3\APEX_1.4\include\clothing
|
||||
/I ThirdParty\PhysX3\APEX_1.4\include\nvparameterized
|
||||
/I ThirdParty\PhysX3\APEX_1.4\include\legacy
|
||||
/I ThirdParty\PhysX3\APEX_1.4\include\PhysX3
|
||||
/I ThirdParty\PhysX3\APEX_1.4\common\include
|
||||
/I ThirdParty\PhysX3\APEX_1.4\common\include\autogen
|
||||
/I ThirdParty\PhysX3\APEX_1.4\framework\include
|
||||
/I ThirdParty\PhysX3\APEX_1.4\framework\include\autogen
|
||||
/I ThirdParty\PhysX3\APEX_1.4\shared\general\RenderDebug\public
|
||||
/I ThirdParty\PhysX3\APEX_1.4\shared\general\PairFilter\include
|
||||
/I ThirdParty\PhysX3\APEX_1.4\shared\internal\include
|
||||
/I "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\INCLUDE"
|
||||
/I "C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um"
|
||||
/I "C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt"
|
||||
/I "C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared"
|
||||
/I "C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um"
|
||||
/I "C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt"
|
||||
/FI"D:\UE4Projects\MKCC\Intermediate\Build\Win64\MKCCEditor\Development\Engine\SharedPCH.Engine.ShadowErrors.h"
|
||||
/Yu"D:\UE4Projects\MKCC\Intermediate\Build\Win64\MKCCEditor\Development\Engine\SharedPCH.Engine.ShadowErrors.h"
|
||||
/Fp"D:\UE4Projects\MKCC\Intermediate\Build\Win64\MKCCEditor\Development\Engine\SharedPCH.Engine.ShadowErrors.h.pch"
|
||||
"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Module.QRcode.cpp"
|
||||
/FI"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Definitions.QRcode.h"
|
||||
/Fo"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Module.QRcode.cpp.obj"
|
||||
/TP
|
||||
/GR-
|
||||
/W4
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Definitions.QRcode.h
|
||||
D:/UE4Projects/MKCC/Plugins/QRCode-master/Source/QRcode/Private/QRcode.cpp
|
||||
D:\UE4Projects\MKCC\Plugins\QRCode-master\Source\QRcode\Public\QRcode.h
|
||||
D:/UE4Projects/MKCC/Plugins/QRCode-master/Source/QRcode/Private/QRCodeBlueprintFunctionLibrary.cpp
|
||||
D:\UE4Projects\MKCC\Plugins\QRCode-master\Source\QRcode\Public\QRCodeBlueprintFunctionLibrary.h
|
||||
D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Inc\QRcode\QRCodeBlueprintFunctionLibrary.generated.h
|
||||
D:\UE4Projects\MKCC\Plugins\QRCode-master\ThirdParty\QREncode\include\qrencode.h
|
||||
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\INCLUDE\string
|
||||
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\INCLUDE\cctype
|
||||
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\INCLUDE\fstream
|
||||
D:\UE4\UE_4.25\Engine\Source\Runtime\ImageWrapper\Public\IImageWrapper.h
|
||||
D:\UE4\UE_4.25\Engine\Source\Runtime\ImageWrapper\Public\IImageWrapperModule.h
|
||||
D:\UE4\UE_4.25\Engine\Source\Runtime\Core\Public\HAL/FileManagerGeneric.h
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
// This file is automatically generated at compile-time to include some subset of the user-created cpp files.
|
||||
#include "D:/UE4Projects/MKCC/Plugins/QRCode-master/Intermediate/Build/Win64/UE4Editor/Inc/QRcode/QRcode.init.gen.cpp"
|
||||
#include "D:/UE4Projects/MKCC/Plugins/QRCode-master/Intermediate/Build/Win64/UE4Editor/Inc/QRcode/QRCodeBlueprintFunctionLibrary.gen.cpp"
|
||||
+275
@@ -0,0 +1,275 @@
|
||||
/Zc:inline
|
||||
/nologo
|
||||
/Oi
|
||||
/c
|
||||
/Gw
|
||||
/Gy
|
||||
/Zm1000
|
||||
/wd4819
|
||||
/D_CRT_STDIO_LEGACY_WIDE_SPECIFIERS=1
|
||||
/D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS=1
|
||||
/D_WINDLL
|
||||
/D_DISABLE_EXTENDED_ALIGNED_STORAGE
|
||||
/source-charset:utf-8
|
||||
/execution-charset:utf-8
|
||||
/Ox
|
||||
/Ot
|
||||
/GF
|
||||
/Ob2
|
||||
/errorReport:prompt
|
||||
/EHsc
|
||||
/Z7
|
||||
/MD
|
||||
/bigobj
|
||||
/fp:fast
|
||||
/Zo
|
||||
/Zp8
|
||||
/we4456
|
||||
/we4458
|
||||
/we4459
|
||||
/wd4463
|
||||
/we4668
|
||||
/wd4244
|
||||
/wd4838
|
||||
/I .
|
||||
/I D:\UE4Projects\MKCC\Plugins\QRCode-master\Source\QRcode\Private
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\CoreUObject
|
||||
/I Runtime
|
||||
/I Runtime\CoreUObject\Public
|
||||
/I Runtime\TraceLog\Public
|
||||
/I Runtime\Core\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\Engine
|
||||
/I Runtime\Engine\Classes
|
||||
/I Runtime\Engine\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\NetCore
|
||||
/I Runtime\Net
|
||||
/I Runtime\Net\Core\Classes
|
||||
/I Runtime\Net\Core\Public
|
||||
/I Runtime\ApplicationCore\Public
|
||||
/I Runtime\RHI\Public
|
||||
/I Runtime\Json\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\SlateCore
|
||||
/I Runtime\SlateCore\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\InputCore
|
||||
/I Runtime\InputCore\Classes
|
||||
/I Runtime\InputCore\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\Slate
|
||||
/I Runtime\Slate\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\ImageWrapper
|
||||
/I Runtime\ImageWrapper\Public
|
||||
/I Runtime\Messaging\Public
|
||||
/I Runtime\MessagingCommon\Public
|
||||
/I Runtime\RenderCore\Public
|
||||
/I Runtime\Analytics
|
||||
/I Runtime\Analytics\AnalyticsET\Public
|
||||
/I Runtime\Analytics\Analytics\Public
|
||||
/I Runtime\Sockets\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AssetRegistry
|
||||
/I Runtime\AssetRegistry\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\EngineMessages
|
||||
/I Runtime\EngineMessages\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\EngineSettings
|
||||
/I Runtime\EngineSettings\Classes
|
||||
/I Runtime\EngineSettings\Public
|
||||
/I Runtime\SynthBenchmark\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\Renderer
|
||||
/I Runtime\Renderer\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\GameplayTags
|
||||
/I Runtime\GameplayTags\Classes
|
||||
/I Runtime\GameplayTags\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\PacketHandler
|
||||
/I Runtime\PacketHandlers
|
||||
/I Runtime\PacketHandlers\PacketHandler\Classes
|
||||
/I Runtime\PacketHandlers\PacketHandler\Public
|
||||
/I Runtime\PacketHandlers\ReliabilityHandlerComponent\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AudioPlatformConfiguration
|
||||
/I Runtime\AudioPlatformConfiguration\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\MeshDescription
|
||||
/I Runtime\MeshDescription\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\StaticMeshDescription
|
||||
/I Runtime\StaticMeshDescription\Public
|
||||
/I Runtime\PakFile\Public
|
||||
/I Runtime\RSA\Public
|
||||
/I Runtime\NetworkReplayStreaming
|
||||
/I Runtime\NetworkReplayStreaming\NetworkReplayStreaming\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\PhysicsCore
|
||||
/I Runtime\PhysicsCore\Public
|
||||
/I Runtime\Experimental
|
||||
/I Runtime\Experimental\Chaos\Public
|
||||
/I Runtime\Experimental\ChaosCore\Public
|
||||
/I ThirdParty
|
||||
/I Runtime\Experimental\Voronoi\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\FieldSystemCore
|
||||
/I Runtime\Experimental\FieldSystem\Source
|
||||
/I Runtime\Experimental\FieldSystem\Source\FieldSystemCore\Public
|
||||
/I Runtime\SignalProcessing\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AudioExtensions
|
||||
/I Runtime\AudioExtensions\Public
|
||||
/I Runtime\AudioMixerCore\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\UnrealEd
|
||||
/I Editor
|
||||
/I Programs\UnrealLightmass\Public
|
||||
/I Developer\Android\AndroidDeviceDetection\Public\Interfaces
|
||||
/I Editor\UnrealEd\Classes
|
||||
/I Editor\UnrealEd\Public
|
||||
/I Developer
|
||||
/I Developer\DirectoryWatcher\Public
|
||||
/I Editor\Documentation\Public
|
||||
/I Runtime\Projects\Public
|
||||
/I Runtime\SandboxFile\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\EditorStyle
|
||||
/I Editor\EditorStyle\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\SourceControl
|
||||
/I Developer\SourceControl\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\UnrealEdMessages
|
||||
/I Editor\UnrealEdMessages\Classes
|
||||
/I Editor\UnrealEdMessages\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\GameplayDebugger
|
||||
/I Developer\GameplayDebugger\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\BlueprintGraph
|
||||
/I Editor\BlueprintGraph\Classes
|
||||
/I Editor\BlueprintGraph\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\EditorSubsystem
|
||||
/I Editor\EditorSubsystem\Public
|
||||
/I Runtime\Online
|
||||
/I Runtime\Online\HTTP\Public
|
||||
/I Runtime\UnrealAudio\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\FunctionalTesting
|
||||
/I Developer\FunctionalTesting\Classes
|
||||
/I Developer\FunctionalTesting\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AutomationController
|
||||
/I Developer\AutomationController\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\Localization
|
||||
/I Developer\Localization\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AudioEditor
|
||||
/I Editor\AudioEditor\Classes
|
||||
/I Editor\AudioEditor\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AudioMixer
|
||||
/I Runtime\AudioMixer\Classes
|
||||
/I Runtime\AudioMixer\Public
|
||||
/I Developer\TargetPlatform\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\LevelEditor
|
||||
/I Editor\LevelEditor\Public
|
||||
/I Developer\Settings\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\IntroTutorials
|
||||
/I Editor\IntroTutorials\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\HeadMountedDisplay
|
||||
/I Runtime\HeadMountedDisplay\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\VREditor
|
||||
/I Editor\VREditor
|
||||
/I Editor\VREditor\Public
|
||||
/I Editor\CommonMenuExtensions\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\Landscape
|
||||
/I Runtime\Landscape\Classes
|
||||
/I Runtime\Landscape\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\PropertyEditor
|
||||
/I Editor\PropertyEditor\Public
|
||||
/I Editor\ActorPickerMode\Public
|
||||
/I Editor\SceneDepthPickerMode\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\DetailCustomizations
|
||||
/I Editor\DetailCustomizations\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\ClassViewer
|
||||
/I Editor\ClassViewer\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\GraphEditor
|
||||
/I Editor\GraphEditor\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\StructViewer
|
||||
/I Editor\StructViewer\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\ContentBrowser
|
||||
/I Editor\ContentBrowser\Public
|
||||
/I ThirdParty\libSampleRate\Public
|
||||
/I Runtime\NetworkFileSystem\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\UMG
|
||||
/I Runtime\UMG\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\MovieScene
|
||||
/I Runtime\MovieScene\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\TimeManagement
|
||||
/I Runtime\TimeManagement\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\MovieSceneTracks
|
||||
/I Runtime\MovieSceneTracks\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AnimationCore
|
||||
/I Runtime\AnimationCore\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\PropertyPath
|
||||
/I Runtime\PropertyPath\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\NavigationSystem
|
||||
/I Runtime\NavigationSystem\Public
|
||||
/I Developer\MeshBuilder\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\MaterialShaderQualitySettings
|
||||
/I Runtime\MaterialShaderQualitySettings\Classes
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\InteractiveToolsFramework
|
||||
/I Runtime\Experimental\InteractiveToolsFramework\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\ToolMenusEditor
|
||||
/I Editor\ToolMenusEditor\Public
|
||||
/I Runtime\Windows
|
||||
/I Runtime\Windows\XAudio2\Public
|
||||
/I Editor\AssetTagsEditor\Public
|
||||
/I Developer\CollectionManager\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AddContentDialog
|
||||
/I Editor\AddContentDialog\Public
|
||||
/I ThirdParty\IntelEmbree\Embree2140\Win64\include
|
||||
/I Developer\MeshUtilities\Public
|
||||
/I Developer\MeshMergeUtilities\Public
|
||||
/I Developer\HierarchicalLODUtilities\Public
|
||||
/I Developer\MeshReductionInterface\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AssetTools
|
||||
/I Developer\AssetTools\Public
|
||||
/I Editor\KismetCompiler\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\GameplayTasks
|
||||
/I Runtime\GameplayTasks\Classes
|
||||
/I Runtime\GameplayTasks\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\AIModule
|
||||
/I Runtime\AIModule\Public
|
||||
/I Runtime\AIModule\Classes
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\Kismet
|
||||
/I Editor\Kismet\Classes
|
||||
/I Editor\Kismet\Public
|
||||
/I Runtime\PhysicsSQ\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\ChaosSolvers
|
||||
/I Runtime\Experimental\ChaosSolvers\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\GeometryCollectionCore
|
||||
/I Runtime\Experimental\GeometryCollectionCore\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\GeometryCollectionSimulationCore
|
||||
/I Runtime\Experimental\GeometryCollectionSimulationCore\Public
|
||||
/I ..\Intermediate\Build\Win64\UE4Editor\Inc\ClothingSystemRuntimeInterface
|
||||
/I Runtime\ClothingSystemRuntimeInterface\Public
|
||||
/I D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Inc\QRcode
|
||||
/I D:\UE4Projects\MKCC\Plugins\QRCode-master\Source
|
||||
/I D:\UE4Projects\MKCC\Plugins\QRCode-master\ThirdParty\QREncode\include
|
||||
/I D:\UE4Projects\MKCC\Plugins\QRCode-master\Source\QRcode\Public
|
||||
/I ThirdParty\PhysX3\PxShared\include
|
||||
/I ThirdParty\PhysX3\PxShared\include\cudamanager
|
||||
/I ThirdParty\PhysX3\PxShared\include\filebuf
|
||||
/I ThirdParty\PhysX3\PxShared\include\foundation
|
||||
/I ThirdParty\PhysX3\PxShared\include\pvd
|
||||
/I ThirdParty\PhysX3\PxShared\include\task
|
||||
/I ThirdParty\PhysX3\PhysX_3.4\Include
|
||||
/I ThirdParty\PhysX3\PhysX_3.4\Include\cooking
|
||||
/I ThirdParty\PhysX3\PhysX_3.4\Include\common
|
||||
/I ThirdParty\PhysX3\PhysX_3.4\Include\extensions
|
||||
/I ThirdParty\PhysX3\PhysX_3.4\Include\geometry
|
||||
/I ThirdParty\PhysX3\APEX_1.4\include
|
||||
/I ThirdParty\PhysX3\APEX_1.4\include\clothing
|
||||
/I ThirdParty\PhysX3\APEX_1.4\include\nvparameterized
|
||||
/I ThirdParty\PhysX3\APEX_1.4\include\legacy
|
||||
/I ThirdParty\PhysX3\APEX_1.4\include\PhysX3
|
||||
/I ThirdParty\PhysX3\APEX_1.4\common\include
|
||||
/I ThirdParty\PhysX3\APEX_1.4\common\include\autogen
|
||||
/I ThirdParty\PhysX3\APEX_1.4\framework\include
|
||||
/I ThirdParty\PhysX3\APEX_1.4\framework\include\autogen
|
||||
/I ThirdParty\PhysX3\APEX_1.4\shared\general\RenderDebug\public
|
||||
/I ThirdParty\PhysX3\APEX_1.4\shared\general\PairFilter\include
|
||||
/I ThirdParty\PhysX3\APEX_1.4\shared\internal\include
|
||||
/I "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\INCLUDE"
|
||||
/I "C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um"
|
||||
/I "C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt"
|
||||
/I "C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared"
|
||||
/I "C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um"
|
||||
/I "C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt"
|
||||
/FI"D:\UE4Projects\MKCC\Intermediate\Build\Win64\MKCCEditor\Development\Engine\SharedPCH.Engine.ShadowErrors.h"
|
||||
/Yu"D:\UE4Projects\MKCC\Intermediate\Build\Win64\MKCCEditor\Development\Engine\SharedPCH.Engine.ShadowErrors.h"
|
||||
/Fp"D:\UE4Projects\MKCC\Intermediate\Build\Win64\MKCCEditor\Development\Engine\SharedPCH.Engine.ShadowErrors.h.pch"
|
||||
"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Module.QRcode.gen.cpp"
|
||||
/FI"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Definitions.QRcode.h"
|
||||
/Fo"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Module.QRcode.gen.cpp.obj"
|
||||
/TP
|
||||
/GR-
|
||||
/W4
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Definitions.QRcode.h
|
||||
D:/UE4Projects/MKCC/Plugins/QRCode-master/Intermediate/Build/Win64/UE4Editor/Inc/QRcode/QRcode.init.gen.cpp
|
||||
D:\UE4\UE_4.25\Engine\Source\Runtime\CoreUObject\Public\UObject/GeneratedCppIncludes.h
|
||||
D:\UE4\UE_4.25\Engine\Source\Runtime\CoreUObject\Public\UObject/MetaData.h
|
||||
D:/UE4Projects/MKCC/Plugins/QRCode-master/Intermediate/Build/Win64/UE4Editor/Inc/QRcode/QRCodeBlueprintFunctionLibrary.gen.cpp
|
||||
D:\UE4Projects\MKCC\Plugins\QRCode-master\Source\QRcode/Public/QRCodeBlueprintFunctionLibrary.h
|
||||
D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Inc\QRcode\QRCodeBlueprintFunctionLibrary.generated.h
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
/MANIFEST:EMBED
|
||||
/MANIFESTINPUT:D:\UE4\UE_4.25\Engine\Build\Windows\Resources\Default-Win64.manifest
|
||||
/NOLOGO
|
||||
/DEBUG
|
||||
/errorReport:prompt
|
||||
/MACHINE:x64
|
||||
/SUBSYSTEM:WINDOWS
|
||||
/FIXED:No
|
||||
/NXCOMPAT
|
||||
/STACK:12000000
|
||||
/DELAY:UNLOAD
|
||||
/DLL
|
||||
/PDBALTPATH:%_PDB%
|
||||
/OPT:NOREF
|
||||
/OPT:NOICF
|
||||
/INCREMENTAL:NO
|
||||
/ignore:4199
|
||||
/ignore:4099
|
||||
/DELAYLOAD:"d3d12.dll"
|
||||
/DELAYLOAD:"DBGHELP.DLL"
|
||||
/LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\lib\x64"
|
||||
/LIBPATH:"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64"
|
||||
/LIBPATH:"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\ucrt\x64"
|
||||
/LIBPATH:"C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64"
|
||||
/NODEFAULTLIB:"LIBCMT"
|
||||
/NODEFAULTLIB:"LIBCPMT"
|
||||
/NODEFAULTLIB:"LIBCMTD"
|
||||
/NODEFAULTLIB:"LIBCPMTD"
|
||||
/NODEFAULTLIB:"MSVCRTD"
|
||||
/NODEFAULTLIB:"MSVCPRTD"
|
||||
/NODEFAULTLIB:"LIBC"
|
||||
/NODEFAULTLIB:"LIBCP"
|
||||
/NODEFAULTLIB:"LIBCD"
|
||||
/NODEFAULTLIB:"LIBCPD"
|
||||
/FUNCTIONPADMIN
|
||||
"D:\UE4Projects\MKCC\Intermediate\Build\Win64\MKCCEditor\Development\Engine\SharedPCH.Engine.ShadowErrors.h.obj"
|
||||
"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Module.QRcode.cpp.obj"
|
||||
"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Module.QRcode.gen.cpp.obj"
|
||||
"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Default.rc2.res"
|
||||
"delayimp.lib"
|
||||
"wininet.lib"
|
||||
"rpcrt4.lib"
|
||||
"ws2_32.lib"
|
||||
"dbghelp.lib"
|
||||
"comctl32.lib"
|
||||
"Winmm.lib"
|
||||
"kernel32.lib"
|
||||
"user32.lib"
|
||||
"gdi32.lib"
|
||||
"winspool.lib"
|
||||
"comdlg32.lib"
|
||||
"advapi32.lib"
|
||||
"shell32.lib"
|
||||
"ole32.lib"
|
||||
"oleaut32.lib"
|
||||
"uuid.lib"
|
||||
"odbc32.lib"
|
||||
"odbccp32.lib"
|
||||
"netapi32.lib"
|
||||
"iphlpapi.lib"
|
||||
"setupapi.lib"
|
||||
"dwmapi.lib"
|
||||
"imm32.lib"
|
||||
"D:\UE4Projects\MKCC\Plugins\QRCode-master\ThirdParty\QREncode\lib\Win64\QRCode.lib"
|
||||
"D:\UE4\UE_4.25\Engine\Intermediate\Build\Win64\UE4Editor\Development\CoreUObject\UE4Editor-CoreUObject.lib"
|
||||
"D:\UE4\UE_4.25\Engine\Intermediate\Build\Win64\UE4Editor\Development\Engine\UE4Editor-Engine.lib"
|
||||
"D:\UE4\UE_4.25\Engine\Intermediate\Build\Win64\UE4Editor\Development\Slate\UE4Editor-Slate.lib"
|
||||
"D:\UE4\UE_4.25\Engine\Intermediate\Build\Win64\UE4Editor\Development\SlateCore\UE4Editor-SlateCore.lib"
|
||||
"D:\UE4\UE_4.25\Engine\Intermediate\Build\Win64\UE4Editor\Development\Core\UE4Editor-Core.lib"
|
||||
/OUT:"D:\UE4Projects\MKCC\Plugins\QRCode-master\Binaries\Win64\UE4Editor-QRcode.dll"
|
||||
/IMPLIB:"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\UE4Editor-QRcode.suppressed.lib"
|
||||
/PDB:"D:\UE4Projects\MKCC\Plugins\QRCode-master\Binaries\Win64\UE4Editor-QRcode.pdb"
|
||||
/ignore:4078
|
||||
/INCLUDE:IMPLEMENT_MODULE_QRcode
|
||||
BIN
Binary file not shown.
+14
@@ -0,0 +1,14 @@
|
||||
/NOLOGO
|
||||
/errorReport:prompt
|
||||
/MACHINE:x64
|
||||
/SUBSYSTEM:WINDOWS
|
||||
/DEF
|
||||
/NAME:"UE4Editor-QRcode.dll"
|
||||
/IGNORE:4221
|
||||
/NODEFAULTLIB
|
||||
"D:\UE4Projects\MKCC\Intermediate\Build\Win64\MKCCEditor\Development\Engine\SharedPCH.Engine.ShadowErrors.h.obj"
|
||||
"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Module.QRcode.cpp.obj"
|
||||
"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Module.QRcode.gen.cpp.obj"
|
||||
"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\Default.rc2.res"
|
||||
/OUT:"D:\UE4Projects\MKCC\Plugins\QRCode-master\Intermediate\Build\Win64\UE4Editor\Development\QRcode\UE4Editor-QRcode.lib"
|
||||
/INCLUDE:IMPLEMENT_MODULE_QRcode
|
||||
BIN
Binary file not shown.
+446
@@ -0,0 +1,446 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
/*===========================================================================
|
||||
Generated code exported from UnrealHeaderTool.
|
||||
DO NOT modify this manually! Edit the corresponding .h files instead!
|
||||
===========================================================================*/
|
||||
|
||||
#include "UObject/GeneratedCppIncludes.h"
|
||||
#include "QRcode/Public/QRCodeBlueprintFunctionLibrary.h"
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning (push)
|
||||
#pragma warning (disable : 4883)
|
||||
#endif
|
||||
PRAGMA_DISABLE_DEPRECATION_WARNINGS
|
||||
void EmptyLinkFunctionForGeneratedCodeQRCodeBlueprintFunctionLibrary() {}
|
||||
// Cross Module References
|
||||
QRCODE_API UEnum* Z_Construct_UEnum_QRcode_QR_IMAGE_FORMAT();
|
||||
UPackage* Z_Construct_UPackage__Script_QRcode();
|
||||
QRCODE_API UClass* Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_NoRegister();
|
||||
QRCODE_API UClass* Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary();
|
||||
ENGINE_API UClass* Z_Construct_UClass_UBlueprintFunctionLibrary();
|
||||
ENGINE_API UClass* Z_Construct_UClass_UTexture2D_NoRegister();
|
||||
// End Cross Module References
|
||||
static UEnum* QR_IMAGE_FORMAT_StaticEnum()
|
||||
{
|
||||
static UEnum* Singleton = nullptr;
|
||||
if (!Singleton)
|
||||
{
|
||||
Singleton = GetStaticEnum(Z_Construct_UEnum_QRcode_QR_IMAGE_FORMAT, Z_Construct_UPackage__Script_QRcode(), TEXT("QR_IMAGE_FORMAT"));
|
||||
}
|
||||
return Singleton;
|
||||
}
|
||||
template<> QRCODE_API UEnum* StaticEnum<QR_IMAGE_FORMAT>()
|
||||
{
|
||||
return QR_IMAGE_FORMAT_StaticEnum();
|
||||
}
|
||||
static FCompiledInDeferEnum Z_CompiledInDeferEnum_UEnum_QR_IMAGE_FORMAT(QR_IMAGE_FORMAT_StaticEnum, TEXT("/Script/QRcode"), TEXT("QR_IMAGE_FORMAT"), false, nullptr, nullptr);
|
||||
uint32 Get_Z_Construct_UEnum_QRcode_QR_IMAGE_FORMAT_Hash() { return 363512775U; }
|
||||
UEnum* Z_Construct_UEnum_QRcode_QR_IMAGE_FORMAT()
|
||||
{
|
||||
#if WITH_HOT_RELOAD
|
||||
UPackage* Outer = Z_Construct_UPackage__Script_QRcode();
|
||||
static UEnum* ReturnEnum = FindExistingEnumIfHotReloadOrDynamic(Outer, TEXT("QR_IMAGE_FORMAT"), 0, Get_Z_Construct_UEnum_QRcode_QR_IMAGE_FORMAT_Hash(), false);
|
||||
#else
|
||||
static UEnum* ReturnEnum = nullptr;
|
||||
#endif // WITH_HOT_RELOAD
|
||||
if (!ReturnEnum)
|
||||
{
|
||||
static const UE4CodeGen_Private::FEnumeratorParam Enumerators[] = {
|
||||
{ "QR_IMAGE_FORMAT::PNG", (int64)QR_IMAGE_FORMAT::PNG },
|
||||
{ "QR_IMAGE_FORMAT::JPEG", (int64)QR_IMAGE_FORMAT::JPEG },
|
||||
};
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Enum_MetaDataParams[] = {
|
||||
{ "JPEG.Comment", "/** Joint Photographic Experts Group. */" },
|
||||
{ "JPEG.Name", "QR_IMAGE_FORMAT::JPEG" },
|
||||
{ "JPEG.ToolTip", "Joint Photographic Experts Group." },
|
||||
{ "ModuleRelativePath", "Public/QRCodeBlueprintFunctionLibrary.h" },
|
||||
{ "PNG.Comment", "/** Portable Network Graphics. */" },
|
||||
{ "PNG.Name", "QR_IMAGE_FORMAT::PNG" },
|
||||
{ "PNG.ToolTip", "Portable Network Graphics." },
|
||||
};
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FEnumParams EnumParams = {
|
||||
(UObject*(*)())Z_Construct_UPackage__Script_QRcode,
|
||||
nullptr,
|
||||
"QR_IMAGE_FORMAT",
|
||||
"QR_IMAGE_FORMAT",
|
||||
Enumerators,
|
||||
UE_ARRAY_COUNT(Enumerators),
|
||||
RF_Public|RF_Transient|RF_MarkAsNative,
|
||||
UE4CodeGen_Private::EDynamicType::NotDynamic,
|
||||
(uint8)UEnum::ECppForm::EnumClass,
|
||||
METADATA_PARAMS(Enum_MetaDataParams, UE_ARRAY_COUNT(Enum_MetaDataParams))
|
||||
};
|
||||
UE4CodeGen_Private::ConstructUEnum(ReturnEnum, EnumParams);
|
||||
}
|
||||
return ReturnEnum;
|
||||
}
|
||||
DEFINE_FUNCTION(UQRCodeBlueprintFunctionLibrary::execGenerateQRCodeImageByType)
|
||||
{
|
||||
P_GET_PROPERTY_REF(FIntProperty,Z_Param_Out_Width);
|
||||
P_GET_PROPERTY_REF(FIntProperty,Z_Param_Out_Height);
|
||||
P_GET_PROPERTY(FStrProperty,Z_Param_Name);
|
||||
P_GET_PROPERTY(FStrProperty,Z_Param_Outfile);
|
||||
P_GET_ENUM(QR_IMAGE_FORMAT,Z_Param_ImageFormat);
|
||||
P_GET_PROPERTY(FIntProperty,Z_Param_Margin);
|
||||
P_FINISH;
|
||||
P_NATIVE_BEGIN;
|
||||
*(bool*)Z_Param__Result=UQRCodeBlueprintFunctionLibrary::GenerateQRCodeImageByType(Z_Param_Out_Width,Z_Param_Out_Height,Z_Param_Name,Z_Param_Outfile,QR_IMAGE_FORMAT(Z_Param_ImageFormat),Z_Param_Margin);
|
||||
P_NATIVE_END;
|
||||
}
|
||||
DEFINE_FUNCTION(UQRCodeBlueprintFunctionLibrary::execGenerateQRCodeTexture)
|
||||
{
|
||||
P_GET_PROPERTY_REF(FIntProperty,Z_Param_Out_Width);
|
||||
P_GET_PROPERTY_REF(FIntProperty,Z_Param_Out_Height);
|
||||
P_GET_PROPERTY(FStrProperty,Z_Param_Name);
|
||||
P_GET_PROPERTY(FIntProperty,Z_Param_Margin);
|
||||
P_FINISH;
|
||||
P_NATIVE_BEGIN;
|
||||
*(UTexture2D**)Z_Param__Result=UQRCodeBlueprintFunctionLibrary::GenerateQRCodeTexture(Z_Param_Out_Width,Z_Param_Out_Height,Z_Param_Name,Z_Param_Margin);
|
||||
P_NATIVE_END;
|
||||
}
|
||||
DEFINE_FUNCTION(UQRCodeBlueprintFunctionLibrary::execGenerateQRCodeBitmap)
|
||||
{
|
||||
P_GET_PROPERTY_REF(FIntProperty,Z_Param_Out_Width);
|
||||
P_GET_PROPERTY_REF(FIntProperty,Z_Param_Out_Height);
|
||||
P_GET_PROPERTY(FStrProperty,Z_Param_Name);
|
||||
P_GET_PROPERTY(FStrProperty,Z_Param_Outfile);
|
||||
P_GET_PROPERTY(FIntProperty,Z_Param_Margin);
|
||||
P_FINISH;
|
||||
P_NATIVE_BEGIN;
|
||||
UQRCodeBlueprintFunctionLibrary::GenerateQRCodeBitmap(Z_Param_Out_Width,Z_Param_Out_Height,Z_Param_Name,Z_Param_Outfile,Z_Param_Margin);
|
||||
P_NATIVE_END;
|
||||
}
|
||||
void UQRCodeBlueprintFunctionLibrary::StaticRegisterNativesUQRCodeBlueprintFunctionLibrary()
|
||||
{
|
||||
UClass* Class = UQRCodeBlueprintFunctionLibrary::StaticClass();
|
||||
static const FNameNativePtrPair Funcs[] = {
|
||||
{ "GenerateQRCodeBitmap", &UQRCodeBlueprintFunctionLibrary::execGenerateQRCodeBitmap },
|
||||
{ "GenerateQRCodeImageByType", &UQRCodeBlueprintFunctionLibrary::execGenerateQRCodeImageByType },
|
||||
{ "GenerateQRCodeTexture", &UQRCodeBlueprintFunctionLibrary::execGenerateQRCodeTexture },
|
||||
};
|
||||
FNativeFunctionRegistrar::RegisterFunctions(Class, Funcs, UE_ARRAY_COUNT(Funcs));
|
||||
}
|
||||
struct Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics
|
||||
{
|
||||
struct QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeBitmap_Parms
|
||||
{
|
||||
int32 Width;
|
||||
int32 Height;
|
||||
FString Name;
|
||||
FString Outfile;
|
||||
int32 Margin;
|
||||
};
|
||||
static const UE4CodeGen_Private::FIntPropertyParams NewProp_Margin;
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam NewProp_Outfile_MetaData[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FStrPropertyParams NewProp_Outfile;
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam NewProp_Name_MetaData[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FStrPropertyParams NewProp_Name;
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam NewProp_Height_MetaData[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FIntPropertyParams NewProp_Height;
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam NewProp_Width_MetaData[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FIntPropertyParams NewProp_Width;
|
||||
static const UE4CodeGen_Private::FPropertyParamsBase* const PropPointers[];
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FFunctionParams FuncParams;
|
||||
};
|
||||
const UE4CodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Margin = { "Margin", nullptr, (EPropertyFlags)0x0010000000000080, UE4CodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeBitmap_Parms, Margin), METADATA_PARAMS(nullptr, 0) };
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Outfile_MetaData[] = {
|
||||
{ "NativeConst", "" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Outfile = { "Outfile", nullptr, (EPropertyFlags)0x0010000000000080, UE4CodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeBitmap_Parms, Outfile), METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Outfile_MetaData, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Outfile_MetaData)) };
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Name_MetaData[] = {
|
||||
{ "NativeConst", "" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Name = { "Name", nullptr, (EPropertyFlags)0x0010000000000080, UE4CodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeBitmap_Parms, Name), METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Name_MetaData, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Name_MetaData)) };
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Height_MetaData[] = {
|
||||
{ "NativeConst", "" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Height = { "Height", nullptr, (EPropertyFlags)0x0010000008000182, UE4CodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeBitmap_Parms, Height), METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Height_MetaData, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Height_MetaData)) };
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Width_MetaData[] = {
|
||||
{ "NativeConst", "" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Width = { "Width", nullptr, (EPropertyFlags)0x0010000008000182, UE4CodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeBitmap_Parms, Width), METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Width_MetaData, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Width_MetaData)) };
|
||||
const UE4CodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::PropPointers[] = {
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Margin,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Outfile,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Name,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Height,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::NewProp_Width,
|
||||
};
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::Function_MetaDataParams[] = {
|
||||
{ "Category", "UQRCodeBlueprintFunctionLibrary|GenerateQRCodeBitmap" },
|
||||
{ "CPP_Default_Margin", "0" },
|
||||
{ "ModuleRelativePath", "Public/QRCodeBlueprintFunctionLibrary.h" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FFunctionParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary, nullptr, "GenerateQRCodeBitmap", nullptr, nullptr, sizeof(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeBitmap_Parms), Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::PropPointers), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04422401, 0, 0, METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::Function_MetaDataParams, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::Function_MetaDataParams)) };
|
||||
UFunction* Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap()
|
||||
{
|
||||
static UFunction* ReturnFunction = nullptr;
|
||||
if (!ReturnFunction)
|
||||
{
|
||||
UE4CodeGen_Private::ConstructUFunction(ReturnFunction, Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap_Statics::FuncParams);
|
||||
}
|
||||
return ReturnFunction;
|
||||
}
|
||||
struct Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics
|
||||
{
|
||||
struct QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeImageByType_Parms
|
||||
{
|
||||
int32 Width;
|
||||
int32 Height;
|
||||
FString Name;
|
||||
FString Outfile;
|
||||
QR_IMAGE_FORMAT ImageFormat;
|
||||
int32 Margin;
|
||||
bool ReturnValue;
|
||||
};
|
||||
static void NewProp_ReturnValue_SetBit(void* Obj);
|
||||
static const UE4CodeGen_Private::FBoolPropertyParams NewProp_ReturnValue;
|
||||
static const UE4CodeGen_Private::FIntPropertyParams NewProp_Margin;
|
||||
static const UE4CodeGen_Private::FEnumPropertyParams NewProp_ImageFormat;
|
||||
static const UE4CodeGen_Private::FBytePropertyParams NewProp_ImageFormat_Underlying;
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam NewProp_Outfile_MetaData[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FStrPropertyParams NewProp_Outfile;
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam NewProp_Name_MetaData[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FStrPropertyParams NewProp_Name;
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam NewProp_Height_MetaData[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FIntPropertyParams NewProp_Height;
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam NewProp_Width_MetaData[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FIntPropertyParams NewProp_Width;
|
||||
static const UE4CodeGen_Private::FPropertyParamsBase* const PropPointers[];
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FFunctionParams FuncParams;
|
||||
};
|
||||
void Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_ReturnValue_SetBit(void* Obj)
|
||||
{
|
||||
((QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeImageByType_Parms*)Obj)->ReturnValue = 1;
|
||||
}
|
||||
const UE4CodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UE4CodeGen_Private::EPropertyGenFlags::Bool | UE4CodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, 1, sizeof(bool), sizeof(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeImageByType_Parms), &Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_ReturnValue_SetBit, METADATA_PARAMS(nullptr, 0) };
|
||||
const UE4CodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Margin = { "Margin", nullptr, (EPropertyFlags)0x0010000000000080, UE4CodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeImageByType_Parms, Margin), METADATA_PARAMS(nullptr, 0) };
|
||||
const UE4CodeGen_Private::FEnumPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_ImageFormat = { "ImageFormat", nullptr, (EPropertyFlags)0x0010000000000080, UE4CodeGen_Private::EPropertyGenFlags::Enum, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeImageByType_Parms, ImageFormat), Z_Construct_UEnum_QRcode_QR_IMAGE_FORMAT, METADATA_PARAMS(nullptr, 0) };
|
||||
const UE4CodeGen_Private::FBytePropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_ImageFormat_Underlying = { "UnderlyingType", nullptr, (EPropertyFlags)0x0000000000000000, UE4CodeGen_Private::EPropertyGenFlags::Byte, RF_Public|RF_Transient|RF_MarkAsNative, 1, 0, nullptr, METADATA_PARAMS(nullptr, 0) };
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Outfile_MetaData[] = {
|
||||
{ "NativeConst", "" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Outfile = { "Outfile", nullptr, (EPropertyFlags)0x0010000000000080, UE4CodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeImageByType_Parms, Outfile), METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Outfile_MetaData, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Outfile_MetaData)) };
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Name_MetaData[] = {
|
||||
{ "NativeConst", "" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Name = { "Name", nullptr, (EPropertyFlags)0x0010000000000080, UE4CodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeImageByType_Parms, Name), METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Name_MetaData, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Name_MetaData)) };
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Height_MetaData[] = {
|
||||
{ "NativeConst", "" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Height = { "Height", nullptr, (EPropertyFlags)0x0010000008000182, UE4CodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeImageByType_Parms, Height), METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Height_MetaData, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Height_MetaData)) };
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Width_MetaData[] = {
|
||||
{ "NativeConst", "" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Width = { "Width", nullptr, (EPropertyFlags)0x0010000008000182, UE4CodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeImageByType_Parms, Width), METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Width_MetaData, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Width_MetaData)) };
|
||||
const UE4CodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::PropPointers[] = {
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_ReturnValue,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Margin,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_ImageFormat,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_ImageFormat_Underlying,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Outfile,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Name,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Height,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::NewProp_Width,
|
||||
};
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::Function_MetaDataParams[] = {
|
||||
{ "Category", "UQRCodeBlueprintFunctionLibrary|GenerateQRCodeBitmap" },
|
||||
{ "CPP_Default_Margin", "0" },
|
||||
{ "ModuleRelativePath", "Public/QRCodeBlueprintFunctionLibrary.h" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FFunctionParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary, nullptr, "GenerateQRCodeImageByType", nullptr, nullptr, sizeof(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeImageByType_Parms), Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::PropPointers), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04422401, 0, 0, METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::Function_MetaDataParams, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::Function_MetaDataParams)) };
|
||||
UFunction* Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType()
|
||||
{
|
||||
static UFunction* ReturnFunction = nullptr;
|
||||
if (!ReturnFunction)
|
||||
{
|
||||
UE4CodeGen_Private::ConstructUFunction(ReturnFunction, Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType_Statics::FuncParams);
|
||||
}
|
||||
return ReturnFunction;
|
||||
}
|
||||
struct Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics
|
||||
{
|
||||
struct QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeTexture_Parms
|
||||
{
|
||||
int32 Width;
|
||||
int32 Height;
|
||||
FString Name;
|
||||
int32 Margin;
|
||||
UTexture2D* ReturnValue;
|
||||
};
|
||||
static const UE4CodeGen_Private::FObjectPropertyParams NewProp_ReturnValue;
|
||||
static const UE4CodeGen_Private::FIntPropertyParams NewProp_Margin;
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam NewProp_Name_MetaData[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FStrPropertyParams NewProp_Name;
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam NewProp_Height_MetaData[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FIntPropertyParams NewProp_Height;
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam NewProp_Width_MetaData[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FIntPropertyParams NewProp_Width;
|
||||
static const UE4CodeGen_Private::FPropertyParamsBase* const PropPointers[];
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam Function_MetaDataParams[];
|
||||
#endif
|
||||
static const UE4CodeGen_Private::FFunctionParams FuncParams;
|
||||
};
|
||||
const UE4CodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UE4CodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeTexture_Parms, ReturnValue), Z_Construct_UClass_UTexture2D_NoRegister, METADATA_PARAMS(nullptr, 0) };
|
||||
const UE4CodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Margin = { "Margin", nullptr, (EPropertyFlags)0x0010000000000080, UE4CodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeTexture_Parms, Margin), METADATA_PARAMS(nullptr, 0) };
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Name_MetaData[] = {
|
||||
{ "NativeConst", "" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FStrPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Name = { "Name", nullptr, (EPropertyFlags)0x0010000000000080, UE4CodeGen_Private::EPropertyGenFlags::Str, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeTexture_Parms, Name), METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Name_MetaData, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Name_MetaData)) };
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Height_MetaData[] = {
|
||||
{ "NativeConst", "" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Height = { "Height", nullptr, (EPropertyFlags)0x0010000008000182, UE4CodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeTexture_Parms, Height), METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Height_MetaData, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Height_MetaData)) };
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Width_MetaData[] = {
|
||||
{ "NativeConst", "" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FIntPropertyParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Width = { "Width", nullptr, (EPropertyFlags)0x0010000008000182, UE4CodeGen_Private::EPropertyGenFlags::Int, RF_Public|RF_Transient|RF_MarkAsNative, 1, STRUCT_OFFSET(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeTexture_Parms, Width), METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Width_MetaData, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Width_MetaData)) };
|
||||
const UE4CodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::PropPointers[] = {
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_ReturnValue,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Margin,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Name,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Height,
|
||||
(const UE4CodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::NewProp_Width,
|
||||
};
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::Function_MetaDataParams[] = {
|
||||
{ "Category", "UQRCodeBlueprintFunctionLibrary|GenerateQRCodeTexture" },
|
||||
{ "CPP_Default_Margin", "0" },
|
||||
{ "ModuleRelativePath", "Public/QRCodeBlueprintFunctionLibrary.h" },
|
||||
};
|
||||
#endif
|
||||
const UE4CodeGen_Private::FFunctionParams Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::FuncParams = { (UObject*(*)())Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary, nullptr, "GenerateQRCodeTexture", nullptr, nullptr, sizeof(QRCodeBlueprintFunctionLibrary_eventGenerateQRCodeTexture_Parms), Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::PropPointers), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04422401, 0, 0, METADATA_PARAMS(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::Function_MetaDataParams, UE_ARRAY_COUNT(Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::Function_MetaDataParams)) };
|
||||
UFunction* Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture()
|
||||
{
|
||||
static UFunction* ReturnFunction = nullptr;
|
||||
if (!ReturnFunction)
|
||||
{
|
||||
UE4CodeGen_Private::ConstructUFunction(ReturnFunction, Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture_Statics::FuncParams);
|
||||
}
|
||||
return ReturnFunction;
|
||||
}
|
||||
UClass* Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_NoRegister()
|
||||
{
|
||||
return UQRCodeBlueprintFunctionLibrary::StaticClass();
|
||||
}
|
||||
struct Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_Statics
|
||||
{
|
||||
static UObject* (*const DependentSingletons[])();
|
||||
static const FClassFunctionLinkInfo FuncInfo[];
|
||||
#if WITH_METADATA
|
||||
static const UE4CodeGen_Private::FMetaDataPairParam Class_MetaDataParams[];
|
||||
#endif
|
||||
static const FCppClassTypeInfoStatic StaticCppClassTypeInfo;
|
||||
static const UE4CodeGen_Private::FClassParams ClassParams;
|
||||
};
|
||||
UObject* (*const Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_Statics::DependentSingletons[])() = {
|
||||
(UObject* (*)())Z_Construct_UClass_UBlueprintFunctionLibrary,
|
||||
(UObject* (*)())Z_Construct_UPackage__Script_QRcode,
|
||||
};
|
||||
const FClassFunctionLinkInfo Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_Statics::FuncInfo[] = {
|
||||
{ &Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeBitmap, "GenerateQRCodeBitmap" }, // 784060285
|
||||
{ &Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeImageByType, "GenerateQRCodeImageByType" }, // 2896095576
|
||||
{ &Z_Construct_UFunction_UQRCodeBlueprintFunctionLibrary_GenerateQRCodeTexture, "GenerateQRCodeTexture" }, // 4287101756
|
||||
};
|
||||
#if WITH_METADATA
|
||||
const UE4CodeGen_Private::FMetaDataPairParam Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_Statics::Class_MetaDataParams[] = {
|
||||
{ "Comment", "/**\n * \n */" },
|
||||
{ "IncludePath", "QRCodeBlueprintFunctionLibrary.h" },
|
||||
{ "ModuleRelativePath", "Public/QRCodeBlueprintFunctionLibrary.h" },
|
||||
};
|
||||
#endif
|
||||
const FCppClassTypeInfoStatic Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_Statics::StaticCppClassTypeInfo = {
|
||||
TCppClassTypeTraits<UQRCodeBlueprintFunctionLibrary>::IsAbstract,
|
||||
};
|
||||
const UE4CodeGen_Private::FClassParams Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_Statics::ClassParams = {
|
||||
&UQRCodeBlueprintFunctionLibrary::StaticClass,
|
||||
nullptr,
|
||||
&StaticCppClassTypeInfo,
|
||||
DependentSingletons,
|
||||
FuncInfo,
|
||||
nullptr,
|
||||
nullptr,
|
||||
UE_ARRAY_COUNT(DependentSingletons),
|
||||
UE_ARRAY_COUNT(FuncInfo),
|
||||
0,
|
||||
0,
|
||||
0x001000A0u,
|
||||
METADATA_PARAMS(Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_Statics::Class_MetaDataParams, UE_ARRAY_COUNT(Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_Statics::Class_MetaDataParams))
|
||||
};
|
||||
UClass* Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary()
|
||||
{
|
||||
static UClass* OuterClass = nullptr;
|
||||
if (!OuterClass)
|
||||
{
|
||||
UE4CodeGen_Private::ConstructUClass(OuterClass, Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_Statics::ClassParams);
|
||||
}
|
||||
return OuterClass;
|
||||
}
|
||||
IMPLEMENT_CLASS(UQRCodeBlueprintFunctionLibrary, 1219563497);
|
||||
template<> QRCODE_API UClass* StaticClass<UQRCodeBlueprintFunctionLibrary>()
|
||||
{
|
||||
return UQRCodeBlueprintFunctionLibrary::StaticClass();
|
||||
}
|
||||
static FCompiledInDefer Z_CompiledInDefer_UClass_UQRCodeBlueprintFunctionLibrary(Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary, &UQRCodeBlueprintFunctionLibrary::StaticClass, TEXT("/Script/QRcode"), TEXT("UQRCodeBlueprintFunctionLibrary"), false, nullptr, nullptr, nullptr);
|
||||
DEFINE_VTABLE_PTR_HELPER_CTOR(UQRCodeBlueprintFunctionLibrary);
|
||||
PRAGMA_ENABLE_DEPRECATION_WARNINGS
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning (pop)
|
||||
#endif
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
/*===========================================================================
|
||||
Generated code exported from UnrealHeaderTool.
|
||||
DO NOT modify this manually! Edit the corresponding .h files instead!
|
||||
===========================================================================*/
|
||||
|
||||
#include "UObject/ObjectMacros.h"
|
||||
#include "UObject/ScriptMacros.h"
|
||||
|
||||
PRAGMA_DISABLE_DEPRECATION_WARNINGS
|
||||
enum class QR_IMAGE_FORMAT : uint8;
|
||||
class UTexture2D;
|
||||
#ifdef QRCODE_QRCodeBlueprintFunctionLibrary_generated_h
|
||||
#error "QRCodeBlueprintFunctionLibrary.generated.h already included, missing '#pragma once' in QRCodeBlueprintFunctionLibrary.h"
|
||||
#endif
|
||||
#define QRCODE_QRCodeBlueprintFunctionLibrary_generated_h
|
||||
|
||||
#define MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_SPARSE_DATA
|
||||
#define MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_RPC_WRAPPERS \
|
||||
\
|
||||
DECLARE_FUNCTION(execGenerateQRCodeImageByType); \
|
||||
DECLARE_FUNCTION(execGenerateQRCodeTexture); \
|
||||
DECLARE_FUNCTION(execGenerateQRCodeBitmap);
|
||||
|
||||
|
||||
#define MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_RPC_WRAPPERS_NO_PURE_DECLS \
|
||||
\
|
||||
DECLARE_FUNCTION(execGenerateQRCodeImageByType); \
|
||||
DECLARE_FUNCTION(execGenerateQRCodeTexture); \
|
||||
DECLARE_FUNCTION(execGenerateQRCodeBitmap);
|
||||
|
||||
|
||||
#define MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_INCLASS_NO_PURE_DECLS \
|
||||
private: \
|
||||
static void StaticRegisterNativesUQRCodeBlueprintFunctionLibrary(); \
|
||||
friend struct Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_Statics; \
|
||||
public: \
|
||||
DECLARE_CLASS(UQRCodeBlueprintFunctionLibrary, UBlueprintFunctionLibrary, COMPILED_IN_FLAGS(0), CASTCLASS_None, TEXT("/Script/QRcode"), NO_API) \
|
||||
DECLARE_SERIALIZER(UQRCodeBlueprintFunctionLibrary)
|
||||
|
||||
|
||||
#define MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_INCLASS \
|
||||
private: \
|
||||
static void StaticRegisterNativesUQRCodeBlueprintFunctionLibrary(); \
|
||||
friend struct Z_Construct_UClass_UQRCodeBlueprintFunctionLibrary_Statics; \
|
||||
public: \
|
||||
DECLARE_CLASS(UQRCodeBlueprintFunctionLibrary, UBlueprintFunctionLibrary, COMPILED_IN_FLAGS(0), CASTCLASS_None, TEXT("/Script/QRcode"), NO_API) \
|
||||
DECLARE_SERIALIZER(UQRCodeBlueprintFunctionLibrary)
|
||||
|
||||
|
||||
#define MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_STANDARD_CONSTRUCTORS \
|
||||
/** Standard constructor, called after all reflected properties have been initialized */ \
|
||||
NO_API UQRCodeBlueprintFunctionLibrary(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()); \
|
||||
DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UQRCodeBlueprintFunctionLibrary) \
|
||||
DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, UQRCodeBlueprintFunctionLibrary); \
|
||||
DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER(UQRCodeBlueprintFunctionLibrary); \
|
||||
private: \
|
||||
/** Private move- and copy-constructors, should never be used */ \
|
||||
NO_API UQRCodeBlueprintFunctionLibrary(UQRCodeBlueprintFunctionLibrary&&); \
|
||||
NO_API UQRCodeBlueprintFunctionLibrary(const UQRCodeBlueprintFunctionLibrary&); \
|
||||
public:
|
||||
|
||||
|
||||
#define MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_ENHANCED_CONSTRUCTORS \
|
||||
/** Standard constructor, called after all reflected properties have been initialized */ \
|
||||
NO_API UQRCodeBlueprintFunctionLibrary(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()) : Super(ObjectInitializer) { }; \
|
||||
private: \
|
||||
/** Private move- and copy-constructors, should never be used */ \
|
||||
NO_API UQRCodeBlueprintFunctionLibrary(UQRCodeBlueprintFunctionLibrary&&); \
|
||||
NO_API UQRCodeBlueprintFunctionLibrary(const UQRCodeBlueprintFunctionLibrary&); \
|
||||
public: \
|
||||
DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, UQRCodeBlueprintFunctionLibrary); \
|
||||
DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER(UQRCodeBlueprintFunctionLibrary); \
|
||||
DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UQRCodeBlueprintFunctionLibrary)
|
||||
|
||||
|
||||
#define MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_PRIVATE_PROPERTY_OFFSET
|
||||
#define MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_24_PROLOG
|
||||
#define MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_GENERATED_BODY_LEGACY \
|
||||
PRAGMA_DISABLE_DEPRECATION_WARNINGS \
|
||||
public: \
|
||||
MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_PRIVATE_PROPERTY_OFFSET \
|
||||
MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_SPARSE_DATA \
|
||||
MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_RPC_WRAPPERS \
|
||||
MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_INCLASS \
|
||||
MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_STANDARD_CONSTRUCTORS \
|
||||
public: \
|
||||
PRAGMA_ENABLE_DEPRECATION_WARNINGS
|
||||
|
||||
|
||||
#define MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_GENERATED_BODY \
|
||||
PRAGMA_DISABLE_DEPRECATION_WARNINGS \
|
||||
public: \
|
||||
MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_PRIVATE_PROPERTY_OFFSET \
|
||||
MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_SPARSE_DATA \
|
||||
MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_RPC_WRAPPERS_NO_PURE_DECLS \
|
||||
MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_INCLASS_NO_PURE_DECLS \
|
||||
MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h_27_ENHANCED_CONSTRUCTORS \
|
||||
private: \
|
||||
PRAGMA_ENABLE_DEPRECATION_WARNINGS
|
||||
|
||||
|
||||
template<> QRCODE_API UClass* StaticClass<class UQRCodeBlueprintFunctionLibrary>();
|
||||
|
||||
#undef CURRENT_FILE_ID
|
||||
#define CURRENT_FILE_ID MKCC_Plugins_QRCode_master_Source_QRcode_Public_QRCodeBlueprintFunctionLibrary_h
|
||||
|
||||
|
||||
#define FOREACH_ENUM_QR_IMAGE_FORMAT(op) \
|
||||
op(QR_IMAGE_FORMAT::PNG) \
|
||||
op(QR_IMAGE_FORMAT::JPEG)
|
||||
|
||||
enum class QR_IMAGE_FORMAT : uint8;
|
||||
template<> QRCODE_API UEnum* StaticEnum<QR_IMAGE_FORMAT>();
|
||||
|
||||
PRAGMA_ENABLE_DEPRECATION_WARNINGS
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
/*===========================================================================
|
||||
Generated code exported from UnrealHeaderTool.
|
||||
DO NOT modify this manually! Edit the corresponding .h files instead!
|
||||
===========================================================================*/
|
||||
|
||||
#include "UObject/GeneratedCppIncludes.h"
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning (push)
|
||||
#pragma warning (disable : 4883)
|
||||
#endif
|
||||
PRAGMA_DISABLE_DEPRECATION_WARNINGS
|
||||
void EmptyLinkFunctionForGeneratedCodeQRcode_init() {}
|
||||
UPackage* Z_Construct_UPackage__Script_QRcode()
|
||||
{
|
||||
static UPackage* ReturnPackage = nullptr;
|
||||
if (!ReturnPackage)
|
||||
{
|
||||
static const UE4CodeGen_Private::FPackageParams PackageParams = {
|
||||
"/Script/QRcode",
|
||||
nullptr,
|
||||
0,
|
||||
PKG_CompiledIn | 0x00000000,
|
||||
0x700F69D4,
|
||||
0x4781761E,
|
||||
METADATA_PARAMS(nullptr, 0)
|
||||
};
|
||||
UE4CodeGen_Private::ConstructUPackage(ReturnPackage, PackageParams);
|
||||
}
|
||||
return ReturnPackage;
|
||||
}
|
||||
PRAGMA_ENABLE_DEPRECATION_WARNINGS
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning (pop)
|
||||
#endif
|
||||
@@ -0,0 +1,10 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
/*===========================================================================
|
||||
Generated code exported from UnrealHeaderTool.
|
||||
DO NOT modify this manually! Edit the corresponding .h files instead!
|
||||
===========================================================================*/
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
D:\UE4Projects\MKCC\Plugins\QRCode-master\Source\QRcode\Public\QRCodeBlueprintFunctionLibrary.h
|
||||
@@ -0,0 +1,165 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"FileVersion": 3,
|
||||
"Version": 1,
|
||||
"VersionName": "1.0",
|
||||
"FriendlyName": "QRcode",
|
||||
"Description": "QRcode create",
|
||||
"Category": "Other",
|
||||
"CreatedBy": "hzm",
|
||||
"CreatedByURL": "",
|
||||
"DocsURL": "",
|
||||
"MarketplaceURL": "",
|
||||
"SupportURL": "",
|
||||
"CanContainContent": true,
|
||||
"IsBetaVersion": true,
|
||||
"Installed": false,
|
||||
"Modules": [
|
||||
{
|
||||
"Name": "QRcode",
|
||||
"Type": "Runtime",
|
||||
"LoadingPhase": "PreLoadingScreen"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
# QRCode
|
||||
create QRCode in UE4(Tested in 4.21 Editor and Game)
|
||||
|
||||
use UQRCodeBlueprintFunctionLibrary::GenerateQRCodeTexture to create dynamic QRCode Texture.
|
||||
|
||||
use UQRCodeBlueprintFunctionLibrary::GenerateQRCodeBitmap to create dynamic QRcode and save as bmp.
|
||||
|
||||
use UQRCodeBlueprintFunctionLibrary::GenerateQRCodeImageByType to create dynamic QRcode and save as png or jpg.
|
||||
|
||||
# Instructions for use
|
||||
1. create Plugins directory
|
||||
2. git clone https://github.com/hzm/QRCode.git
|
||||
3. Put the folder in the plugins directory
|
||||
4. Enable this plugins in the editor
|
||||
5. Generate visual studio project files
|
||||
6. Add the QRcode module to the project's buid.cs file. such as:
|
||||
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "QRcode" });
|
||||
|
||||
|
||||
|
||||
# Special Thanks
|
||||
ThirdParty:
|
||||
libqrencode 4.0.2(https://github.com/fukuchi/libqrencode)
|
||||
|
||||
reference:
|
||||
https://wiki.unrealengine.com/Dynamic_Textures
|
||||
https://blog.csdn.net/kupepoem/article/details/43307387
|
||||
https://blog.csdn.net/u014532636/article/details/77848185
|
||||
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,355 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#include "QRCodeBlueprintFunctionLibrary.h"
|
||||
#include "qrencode.h"
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include "IImageWrapper.h"
|
||||
//#include "ModuleManager.h"
|
||||
#include "ImageWrapper/Public/IImageWrapper.h"
|
||||
#include "IImageWrapperModule.h"
|
||||
//#include "FileManagerGeneric.h"
|
||||
#include "HAL/FileManagerGeneric.h"
|
||||
using namespace std;
|
||||
|
||||
|
||||
#define BI_RGB 0
|
||||
|
||||
//#pragma pack(push, 2)必须要加。bfType是2个字节,对应“BM”,后4个字节是文件大小,又对应4字节。
|
||||
//如果不设定对齐方式,而按默认的8字节或4字节对应,这些属性就错位了,而别人又是按标准来读取的,
|
||||
//对齐方式不同,自然出错。一般情况下的编程之所以不考虑这些问题,是因为读取和保存都是你个人完成的,
|
||||
//对齐方式是一样的,自然不出错。而这里你生成的图片可能还要供别人使用,自然要严格遵守标准。
|
||||
|
||||
#pragma pack(push, 2)//必须得写,否则sizeof得不到正确的结果
|
||||
typedef unsigned char BYTE;
|
||||
typedef unsigned short WORD;
|
||||
typedef unsigned long DWORD;
|
||||
typedef long LONG;
|
||||
typedef struct {
|
||||
WORD bfType;//位图文件的类型,必须为BM(1-2字节)
|
||||
DWORD bfSize;//位图文件的大小,以字节为单位(3-6字节,低位在前)
|
||||
WORD bfReserved1;//位图文件保留字,必须为0(7-8字节)
|
||||
WORD bfReserved2;//位图文件保留字,必须为0(9-10字节)
|
||||
DWORD bfOffBits;//位图数据的起始位置,以相对于位图(11-14字节,低位在前)
|
||||
} BITMAPFILEHEADER;
|
||||
|
||||
typedef struct {
|
||||
DWORD biSize;//本结构所占用字节数(15-18字节)
|
||||
LONG biWidth;//位图的宽度,以像素为单位(19-22字节)
|
||||
LONG biHeight;//位图的高度,以像素为单位(23-26字节)
|
||||
WORD biPlanes;//目标设备的级别,必须为1(27-28字节)
|
||||
WORD biBitCount;//每个像素所需的位数,必须是1(双色),4(16色),8(256色)16(高彩色)或24(真彩色)之一,(29-30字节)
|
||||
DWORD biCompression;//位图压缩类型,必须是0(不压缩),1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一,(31-34字节)
|
||||
DWORD biSizeImage;//位图的大小(其中包含了为了补齐行数是4的倍数而添加的空字节),以字节为单位(35-38字节)
|
||||
LONG biXPelsPerMeter;//位图水平分辨率,每米像素数(39-42字节)
|
||||
LONG biYPelsPerMeter;//位图垂直分辨率,每米像素数(43-46字节)
|
||||
DWORD biClrUsed;//位图实际使用的颜色表中的颜色数(47-50字节)
|
||||
DWORD biClrImportant;//位图显示过程中重要的颜色数(51-54字节)
|
||||
} BITMAPINFOHEADER;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
void UQRCodeBlueprintFunctionLibrary::GenerateQRCodeBitmap(const int32& Width, const int32& Height, const FString& Name, const FString& Outfile, int32 Margin /* = 0 */)
|
||||
{
|
||||
std::string StdName(TCHAR_TO_UTF8(*Name));
|
||||
const char* QRCodeStr = StdName.c_str();
|
||||
QRcode* QRCodePtr = nullptr;
|
||||
QRCodePtr = QRcode_encodeString(QRCodeStr, 1, QR_ECLEVEL_L, QR_MODE_8, 1);
|
||||
if (QRCodePtr)
|
||||
{
|
||||
uint32 QRWidth, QRWidthAdjustedX, QRHeightAdjustedY, QRDataBytes;
|
||||
|
||||
QRWidth = QRCodePtr->width;//矩阵的维数
|
||||
uint32 ScaleX = (Width - 2 * Margin) / QRWidth;
|
||||
uint32 ScaleY = (Height - 2 * Margin) / QRWidth;
|
||||
QRWidthAdjustedX = QRWidth * ScaleX;//水平维度占的像素个数(ScaleX)
|
||||
QRHeightAdjustedY = QRWidth * ScaleY;//垂直维度占的像素个数(ScaleY)
|
||||
QRDataBytes = QRWidthAdjustedX * QRHeightAdjustedY * 3;//每一个像素3个字节(BGR)
|
||||
|
||||
//create data
|
||||
uint8* RGBDataPtr = (uint8 *)malloc(QRDataBytes);
|
||||
if (!RGBDataPtr)
|
||||
{
|
||||
printf("out of memory!!");
|
||||
return;
|
||||
}
|
||||
uint8* QRCodeSourceDatas = QRCodePtr->data;
|
||||
uint8* QRCodeDestData;
|
||||
memset(RGBDataPtr, 0xFF, QRDataBytes); //分配内存,并且填充为白色
|
||||
|
||||
//由于Windows规定一个扫描行所占的字节数必须是4的倍数,这里必须是4的整数倍
|
||||
int32 WidthAdjusted = Width % 4 ? (Width / 4 + 1) * 4 : Width;
|
||||
uint32 ImageBytes = WidthAdjusted * Height * 3;
|
||||
|
||||
//create bitmap file header
|
||||
BITMAPFILEHEADER FileHeader;
|
||||
FileHeader.bfType = 0x4D42; //"BM"
|
||||
FileHeader.bfReserved1 = 0;
|
||||
FileHeader.bfReserved2 = 0;
|
||||
FileHeader.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + ImageBytes;
|
||||
FileHeader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
|
||||
|
||||
//create bitmap info header
|
||||
BITMAPINFOHEADER InfoHeader = {0};//所有值默认为0
|
||||
InfoHeader.biSize = sizeof(BITMAPINFOHEADER);
|
||||
InfoHeader.biWidth = WidthAdjusted;
|
||||
//说明图象的高度,以象素为单位。注:这个值除了用于描述图像的高度之外,它还有另一个用处,
|
||||
//就是指明该图像是倒向的位图,还是正向的位图。如果该值是一个正数,说明图像是倒向的,
|
||||
//如果该值是一个负数,则说明图像是正向的。大多数的BMP文件都是倒向的位图,也就是时,
|
||||
//高度值是一个正数。(注:当高度值是一个负数时(正向图像),图像将不能被压缩
|
||||
//(也就是说biCompression成员将不能是BI_RLE8或BI_RLE4)。
|
||||
InfoHeader.biHeight = -(int32)Height;
|
||||
InfoHeader.biPlanes = 1;
|
||||
InfoHeader.biBitCount = 24;
|
||||
InfoHeader.biCompression = BI_RGB;
|
||||
InfoHeader.biSizeImage = ImageBytes;
|
||||
|
||||
for (uint32 y = 0; y < QRWidth; y++)
|
||||
{
|
||||
QRCodeDestData = RGBDataPtr + ScaleY * y * QRWidthAdjustedX * 3;
|
||||
for (uint32 x = 0; x < QRWidth; x++)
|
||||
{
|
||||
if (*QRCodeSourceDatas & 0x01)
|
||||
{
|
||||
for (uint32 rectY = 0; rectY < ScaleY; rectY++)
|
||||
{
|
||||
for (uint32 rectX = 0; rectX < ScaleX; rectX++)
|
||||
{
|
||||
*(QRCodeDestData + rectY * QRWidthAdjustedX * 3 + rectX * 3) = 0;//Blue
|
||||
*(QRCodeDestData + rectY * QRWidthAdjustedX * 3 + rectX * 3 + 1) = 0;//Green
|
||||
*(QRCodeDestData + rectY * QRWidthAdjustedX * 3 + rectX * 3 + 2) = 0;//Red
|
||||
}
|
||||
}
|
||||
}
|
||||
QRCodeDestData += ScaleX * 3;
|
||||
QRCodeSourceDatas += 1;
|
||||
}
|
||||
}
|
||||
|
||||
uint8* ImageDataPtr = (uint8 *)malloc(ImageBytes);
|
||||
memset(ImageDataPtr, 0xFF, ImageBytes); //分配内存,并且填充为白色
|
||||
for (uint32 y = Margin; y < QRHeightAdjustedY + Margin; y++)
|
||||
{
|
||||
for (uint32 x = Margin; x < QRWidthAdjustedX + Margin; x++)
|
||||
{
|
||||
for (int32 PixelByte = 0; PixelByte < 3; PixelByte++)
|
||||
{
|
||||
uint32 ImageIndex = (y * WidthAdjusted + x) * 3 + PixelByte;
|
||||
uint32 RGBDataIndex = ((y - Margin) * QRWidthAdjustedX + (x - Margin)) * 3 + PixelByte;
|
||||
ImageDataPtr[ImageIndex] = RGBDataPtr[RGBDataIndex];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!FFileManagerGeneric::Get().DirectoryExists(*Outfile))
|
||||
{
|
||||
FFileManagerGeneric::Get().MakeDirectory(*FPaths::GetPath(Outfile), true);
|
||||
}
|
||||
FILE* BitmapFile;
|
||||
if (!(fopen_s(&BitmapFile, TCHAR_TO_UTF8(*Outfile), "wb")))
|
||||
{
|
||||
fwrite(&FileHeader, sizeof(BITMAPFILEHEADER), 1, BitmapFile);
|
||||
fwrite(&InfoHeader, sizeof(BITMAPINFOHEADER), 1, BitmapFile);
|
||||
fwrite(ImageDataPtr, sizeof(uint8), ImageBytes, BitmapFile);
|
||||
fclose(BitmapFile);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("create file failed!!");
|
||||
}
|
||||
QRcode_free(QRCodePtr);
|
||||
free(RGBDataPtr);
|
||||
if (Margin > 0)
|
||||
{
|
||||
free(ImageDataPtr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UTexture2D* UQRCodeBlueprintFunctionLibrary::GenerateQRCodeTexture(const int32& Width, const int32& Height, const FString& Name, int32 Margin /* = 0 */)
|
||||
{
|
||||
std::string StdName(TCHAR_TO_UTF8(*Name));
|
||||
const char* QRCodeStr = StdName.c_str();
|
||||
QRcode* QRCodePtr = nullptr;
|
||||
QRCodePtr = QRcode_encodeString(QRCodeStr, 1, QR_ECLEVEL_L, QR_MODE_8, 1);
|
||||
UTexture2D* Texture = nullptr;
|
||||
if (QRCodePtr)
|
||||
{
|
||||
uint32 QRWidth, QRWidthAdjustedX, QRHeightAdjustedY, QRDataBytes;
|
||||
|
||||
QRWidth = QRCodePtr->width;//矩阵的维数
|
||||
uint32 ScaleX = (Width - 2 * Margin) / QRWidth;
|
||||
uint32 ScaleY = (Height - 2 * Margin) / QRWidth;
|
||||
QRWidthAdjustedX = QRWidth * ScaleX;//水平维度占的像素个数(ScaleX)
|
||||
QRHeightAdjustedY = QRWidth * ScaleY;//垂直维度占的像素个数(ScaleY)
|
||||
QRDataBytes = QRWidthAdjustedX * QRHeightAdjustedY * 3;//每一个像素3个字节(BGR)
|
||||
|
||||
uint8* RGBDataPtr = (uint8 *)malloc(QRDataBytes);
|
||||
if (!RGBDataPtr)
|
||||
{
|
||||
printf("out of memory!!");
|
||||
return Texture;
|
||||
}
|
||||
|
||||
uint8* QRCodeSourceDatas = QRCodePtr->data;
|
||||
uint8* QRCodeDestData;
|
||||
memset(RGBDataPtr, 0xFF, QRDataBytes); //分配内存,并且填充为白色
|
||||
for (uint32 y = 0; y < QRWidth; y++)
|
||||
{
|
||||
QRCodeDestData = RGBDataPtr + ScaleY * y * QRWidthAdjustedX * 3;
|
||||
for (uint32 x = 0; x < QRWidth; x++)
|
||||
{
|
||||
if (*QRCodeSourceDatas & 0x01)
|
||||
{
|
||||
for (uint32 rectY = 0; rectY < ScaleY; rectY++)
|
||||
{
|
||||
for (uint32 rectX = 0; rectX < ScaleX; rectX++)
|
||||
{
|
||||
*(QRCodeDestData + rectY * QRWidthAdjustedX * 3 + rectX * 3) = 0;//Blue
|
||||
*(QRCodeDestData + rectY * QRWidthAdjustedX * 3 + rectX * 3 + 1) = 0;//Green
|
||||
*(QRCodeDestData + rectY * QRWidthAdjustedX * 3 + rectX * 3 + 2) = 0;//Red
|
||||
}
|
||||
}
|
||||
}
|
||||
QRCodeDestData += ScaleX * 3;
|
||||
QRCodeSourceDatas += 1;
|
||||
}
|
||||
}
|
||||
|
||||
QRcode_free(QRCodePtr);
|
||||
TArray<uint8> ImageBGRAData;
|
||||
//for (uint32 i = 0; i < QRDataBytes; i++)
|
||||
//{
|
||||
// ImageBGRAData.Add(RGBDataPtr[i]);
|
||||
// if ((i + 1) % 3 == 0)
|
||||
// {
|
||||
// ImageBGRAData.Add(0xFF);//填充Alpha通道为不透明
|
||||
// }
|
||||
//}
|
||||
for (uint32 i = 0; i < (uint32)Width * (uint32)Height * 4; i++)
|
||||
{
|
||||
ImageBGRAData.Add(0xFF);
|
||||
}
|
||||
for (uint32 y = Margin; y < QRHeightAdjustedY + Margin; y++)
|
||||
{
|
||||
for (uint32 x = Margin; x < QRWidthAdjustedX + Margin; x++)
|
||||
{
|
||||
for (int32 PixelByte = 0; PixelByte < 3; PixelByte++)
|
||||
{
|
||||
uint32 ImageIndex = ( y * Width + x ) * 4 + PixelByte;
|
||||
uint32 RGBDataIndex = ((y - Margin) * QRWidthAdjustedX + (x - Margin)) * 3 + PixelByte;
|
||||
ImageBGRAData[ImageIndex] = RGBDataPtr[RGBDataIndex];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
free(RGBDataPtr);
|
||||
|
||||
IImageWrapperModule& ImageWrapperModule = FModuleManager::LoadModuleChecked<IImageWrapperModule>(FName("ImageWrapper"));
|
||||
TSharedPtr<IImageWrapper> TargetImageWrapper = ImageWrapperModule.CreateImageWrapper(EImageFormat::BMP);
|
||||
if (TargetImageWrapper.IsValid())
|
||||
{
|
||||
Texture = UTexture2D::CreateTransient(Width, Height, PF_B8G8R8A8);
|
||||
if (Texture != nullptr)
|
||||
{
|
||||
FTexture2DMipMap& Mip = Texture->PlatformData->Mips[0];
|
||||
void* TextureData = Mip.BulkData.Lock(LOCK_READ_WRITE);
|
||||
FMemory::Memcpy(TextureData, ImageBGRAData.GetData(), ImageBGRAData.Num());
|
||||
Mip.BulkData.Unlock();
|
||||
Texture->UpdateResource();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Texture;
|
||||
}
|
||||
|
||||
bool UQRCodeBlueprintFunctionLibrary::GenerateQRCodeImageByType(const int32& Width, const int32& Height, const FString& Name, const FString& Outfile, QR_IMAGE_FORMAT ImageFormat, int32 Margin /*= 0*/)
|
||||
{
|
||||
std::string StdName(TCHAR_TO_UTF8(*Name));
|
||||
const char* QRCodeStr = StdName.c_str();
|
||||
QRcode* QRCodePtr = nullptr;
|
||||
QRCodePtr = QRcode_encodeString(QRCodeStr, 1, QR_ECLEVEL_L, QR_MODE_8, 1);
|
||||
UTexture2D* Texture = nullptr;
|
||||
if (QRCodePtr)
|
||||
{
|
||||
uint32 QRWidth, QRWidthAdjustedX, QRHeightAdjustedY, QRDataBytes;
|
||||
|
||||
QRWidth = QRCodePtr->width;//矩阵的维数
|
||||
uint32 ScaleX = (Width - 2 * Margin) / QRWidth;
|
||||
uint32 ScaleY = (Height - 2 * Margin) / QRWidth;
|
||||
QRWidthAdjustedX = QRWidth * ScaleX;//水平维度占的像素个数(ScaleX)
|
||||
QRHeightAdjustedY = QRWidth * ScaleY;//垂直维度占的像素个数(ScaleY)
|
||||
QRDataBytes = QRWidthAdjustedX * QRHeightAdjustedY * 3;//每一个像素3个字节(BGR)
|
||||
|
||||
uint8* RGBDataPtr = (uint8 *)malloc(QRDataBytes);
|
||||
if (!RGBDataPtr)
|
||||
{
|
||||
printf("out of memory!!");
|
||||
return false;
|
||||
}
|
||||
|
||||
uint8* QRCodeSourceDatas = QRCodePtr->data;
|
||||
uint8* QRCodeDestData;
|
||||
memset(RGBDataPtr, 0xFF, QRDataBytes); //分配内存,并且填充为白色
|
||||
for (uint32 y = 0; y < QRWidth; y++)
|
||||
{
|
||||
QRCodeDestData = RGBDataPtr + ScaleY * y * QRWidthAdjustedX * 3;
|
||||
for (uint32 x = 0; x < QRWidth; x++)
|
||||
{
|
||||
if (*QRCodeSourceDatas & 0x01)
|
||||
{
|
||||
for (uint32 rectY = 0; rectY < ScaleY; rectY++)
|
||||
{
|
||||
for (uint32 rectX = 0; rectX < ScaleX; rectX++)
|
||||
{
|
||||
*(QRCodeDestData + rectY * QRWidthAdjustedX * 3 + rectX * 3) = 0;//Blue
|
||||
*(QRCodeDestData + rectY * QRWidthAdjustedX * 3 + rectX * 3 + 1) = 0;//Green
|
||||
*(QRCodeDestData + rectY * QRWidthAdjustedX * 3 + rectX * 3 + 2) = 0;//Red
|
||||
}
|
||||
}
|
||||
}
|
||||
QRCodeDestData += ScaleX * 3;
|
||||
QRCodeSourceDatas += 1;
|
||||
}
|
||||
}
|
||||
|
||||
QRcode_free(QRCodePtr);
|
||||
TArray<uint8> ImageBGRAData;
|
||||
|
||||
for (uint32 i = 0; i < (uint32)Width * (uint32)Height * 4; i++)
|
||||
{
|
||||
ImageBGRAData.Add(0xFF);
|
||||
}
|
||||
for (uint32 y = Margin; y < QRHeightAdjustedY + Margin; y++)
|
||||
{
|
||||
for (uint32 x = Margin; x < QRWidthAdjustedX + Margin; x++)
|
||||
{
|
||||
for (int32 PixelByte = 0; PixelByte < 3; PixelByte++)
|
||||
{
|
||||
uint32 ImageIndex = (y * Width + x) * 4 + PixelByte;
|
||||
uint32 RGBDataIndex = ((y - Margin) * QRWidthAdjustedX + (x - Margin)) * 3 + PixelByte;
|
||||
ImageBGRAData[ImageIndex] = RGBDataPtr[RGBDataIndex];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
free(RGBDataPtr);
|
||||
|
||||
IImageWrapperModule& ImageWrapperModule = FModuleManager::LoadModuleChecked<IImageWrapperModule>(FName("ImageWrapper"));
|
||||
TSharedPtr<IImageWrapper> TargetImageWrapper = ImageWrapperModule.CreateImageWrapper(EImageFormat(ImageFormat));
|
||||
if (TargetImageWrapper.IsValid())
|
||||
{
|
||||
if (TargetImageWrapper->SetRaw(ImageBGRAData.GetData(), ImageBGRAData.Num(), Width, Height, ERGBFormat::BGRA, 8))
|
||||
{
|
||||
const TArray<uint8, FDefaultAllocator64> TagetImageData = TargetImageWrapper->GetCompressed();
|
||||
if (!FFileManagerGeneric::Get().DirectoryExists(*Outfile))
|
||||
{
|
||||
FFileManagerGeneric::Get().MakeDirectory(*FPaths::GetPath(Outfile), true);
|
||||
}
|
||||
return FFileHelper::SaveArrayToFile(TagetImageData, *Outfile);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#include "QRcode.h"
|
||||
|
||||
#define LOCTEXT_NAMESPACE "FQRcodeModule"
|
||||
|
||||
void FQRcodeModule::StartupModule()
|
||||
{
|
||||
// This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module
|
||||
}
|
||||
|
||||
void FQRcodeModule::ShutdownModule()
|
||||
{
|
||||
// This function may be called during shutdown to clean up your module. For modules that support dynamic reloading,
|
||||
// we call this function before unloading the module.
|
||||
}
|
||||
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
|
||||
IMPLEMENT_MODULE(FQRcodeModule, QRcode)
|
||||
@@ -0,0 +1,40 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Kismet/BlueprintFunctionLibrary.h"
|
||||
#include "QRCodeBlueprintFunctionLibrary.generated.h"
|
||||
|
||||
|
||||
UENUM()
|
||||
enum class QR_IMAGE_FORMAT : uint8
|
||||
{
|
||||
/** Portable Network Graphics. */
|
||||
PNG = 0,
|
||||
|
||||
/** Joint Photographic Experts Group. */
|
||||
JPEG = 1,
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class QRCODE_API UQRCodeBlueprintFunctionLibrary : public UBlueprintFunctionLibrary
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UFUNCTION(BlueprintCallable, Category = "UQRCodeBlueprintFunctionLibrary|GenerateQRCodeBitmap")
|
||||
static void GenerateQRCodeBitmap(const int32& Width, const int32& Height, const FString& Name, const FString& Outfile, int32 Margin = 0);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "UQRCodeBlueprintFunctionLibrary|GenerateQRCodeTexture")
|
||||
static UTexture2D* GenerateQRCodeTexture(const int32& Width, const int32& Height, const FString& Name, int32 Margin = 0);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "UQRCodeBlueprintFunctionLibrary|GenerateQRCodeBitmap")
|
||||
static bool GenerateQRCodeImageByType(const int32& Width, const int32& Height, const FString& Name, const FString& Outfile, QR_IMAGE_FORMAT ImageFormat, int32 Margin = 0);
|
||||
|
||||
};
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Modules/ModuleManager.h"
|
||||
|
||||
class FQRcodeModule : public IModuleInterface
|
||||
{
|
||||
public:
|
||||
|
||||
/** IModuleInterface implementation */
|
||||
virtual void StartupModule() override;
|
||||
virtual void ShutdownModule() override;
|
||||
};
|
||||
@@ -0,0 +1,92 @@
|
||||
// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
using UnrealBuildTool;
|
||||
using System.IO;
|
||||
|
||||
public class QRcode : ModuleRules
|
||||
{
|
||||
private string ModulePath
|
||||
{
|
||||
get { return ModuleDirectory; }
|
||||
}
|
||||
|
||||
private string ThirdPartyPath
|
||||
{
|
||||
get { return Path.GetFullPath(Path.Combine(ModulePath, "../../ThirdParty/")); }
|
||||
}
|
||||
|
||||
private string BinariesPath
|
||||
{
|
||||
get { return Path.GetFullPath(Path.Combine(ModulePath, "../../Binaries/")); }
|
||||
}
|
||||
|
||||
private string QREncodeLibraryPath
|
||||
{
|
||||
get { return Path.GetFullPath(Path.Combine(ThirdPartyPath, "QREncode", "lib")); }
|
||||
}
|
||||
|
||||
public QRcode(ReadOnlyTargetRules Target) : base(Target)
|
||||
{
|
||||
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||
|
||||
PublicIncludePaths.AddRange(
|
||||
new string[] {
|
||||
Path.Combine(ThirdPartyPath, "QREncode", "include"),
|
||||
// ... add public include paths required here ...
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
PrivateIncludePaths.AddRange(
|
||||
new string[] {
|
||||
// ... add other private include paths required here ...
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
PublicDependencyModuleNames.AddRange(
|
||||
new string[]
|
||||
{
|
||||
"Core",
|
||||
// ... add other public dependencies that you statically link with here ...
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
PrivateDependencyModuleNames.AddRange(
|
||||
new string[]
|
||||
{
|
||||
"CoreUObject",
|
||||
"Engine",
|
||||
"Slate",
|
||||
"SlateCore",
|
||||
// ... add private dependencies that you statically link with here ...
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
DynamicallyLoadedModuleNames.AddRange(
|
||||
new string[]
|
||||
{
|
||||
// ... add any modules that your module loads dynamically here ...
|
||||
}
|
||||
);
|
||||
|
||||
LoadQREncodeLib(Target);
|
||||
}
|
||||
|
||||
public bool LoadQREncodeLib(ReadOnlyTargetRules Target)
|
||||
{
|
||||
bool isLibrarySupported = false;
|
||||
|
||||
if ((Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Win32))
|
||||
{
|
||||
isLibrarySupported = true;
|
||||
|
||||
string PlatformString = (Target.Platform == UnrealTargetPlatform.Win64) ? "Win64" : "Win32";
|
||||
|
||||
PublicAdditionalLibraries.Add(Path.Combine(QREncodeLibraryPath, PlatformString, "QRCode.lib"));
|
||||
}
|
||||
return isLibrarySupported;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* qrencode - QR Code encoder
|
||||
*
|
||||
* Binary sequence class.
|
||||
* Copyright (C) 2006-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef BITSTREAM_H
|
||||
#define BITSTREAM_H
|
||||
|
||||
typedef struct {
|
||||
size_t length;
|
||||
size_t datasize;
|
||||
unsigned char *data;
|
||||
} BitStream;
|
||||
|
||||
extern BitStream *BitStream_new(void);
|
||||
#ifdef WITH_TESTS
|
||||
extern BitStream *BitStream_newWithBits(size_t size, unsigned char *bits);
|
||||
#endif
|
||||
extern int BitStream_append(BitStream *bstream, BitStream *arg);
|
||||
extern int BitStream_appendNum(BitStream *bstream, size_t bits, unsigned int num);
|
||||
extern int BitStream_appendBytes(BitStream *bstream, size_t size, unsigned char *data);
|
||||
#define BitStream_size(__bstream__) (__bstream__->length)
|
||||
#define BitStream_reset(__bstream__) (__bstream__->length = 0)
|
||||
extern unsigned char *BitStream_toByte(BitStream *bstream);
|
||||
extern void BitStream_free(BitStream *bstream);
|
||||
|
||||
#endif /* BITSTREAM_H */
|
||||
@@ -0,0 +1,103 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define if you have the iconv() function and it works. */
|
||||
#undef HAVE_ICONV
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if using pthread is enabled. */
|
||||
#undef HAVE_LIBPTHREAD
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if using libpng is enabled. */
|
||||
#undef HAVE_PNG
|
||||
|
||||
/* Define to 1 if using SDL is enabled. */
|
||||
#undef HAVE_SDL
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the `strdup' function. */
|
||||
#undef HAVE_STRDUP
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Major version number */
|
||||
#undef MAJOR_VERSION
|
||||
#define MAJOR_VERSION 4
|
||||
|
||||
/* Micro version number */
|
||||
#undef MICRO_VERSION
|
||||
#define MICRO_VERSION 2
|
||||
|
||||
/* Minor version number */
|
||||
#undef MINOR_VERSION
|
||||
#define MINOR_VERSION 0
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
#define VERSION "4.0.2"
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
|
||||
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||
#ifndef __cplusplus
|
||||
#undef inline
|
||||
#endif
|
||||
|
||||
/* Define to 'static' if no test programs will be compiled. */
|
||||
#define STATIC_IN_RELEASE static
|
||||
#undef WITH_TESTS
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* qrencode - QR Code encoder
|
||||
*
|
||||
* Masking.
|
||||
* Copyright (C) 2006-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef MASK_H
|
||||
#define MASK_H
|
||||
|
||||
extern unsigned char *Mask_makeMask(unsigned int width, unsigned char *frame, int mask, QRecLevel level);
|
||||
extern unsigned char *Mask_mask(unsigned int width, unsigned char *frame, QRecLevel level);
|
||||
|
||||
#ifdef WITH_TESTS
|
||||
extern int Mask_calcN2(int width, unsigned char *frame);
|
||||
extern int Mask_calcN1N3(int length, int *runLength);
|
||||
extern int Mask_calcRunLengthH(int width, unsigned char *frame, int *runLength);
|
||||
extern int Mask_calcRunLengthV(int width, unsigned char *frame, int *runLength);
|
||||
extern int Mask_evaluateSymbol(int width, unsigned char *frame);
|
||||
extern unsigned int Mask_writeFormatInformation(unsigned int width, unsigned char *frame, int mask, QRecLevel level);
|
||||
extern unsigned char *Mask_makeMaskedFrame(unsigned int width, unsigned char *frame, int mask);
|
||||
#endif
|
||||
|
||||
#endif /* MASK_H */
|
||||
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* qrencode - QR Code encoder
|
||||
*
|
||||
* Masking for Micro QR Code.
|
||||
* Copyright (C) 2006-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef MMASK_H
|
||||
#define MMASK_H
|
||||
|
||||
extern unsigned char *MMask_makeMask(int version, unsigned char *frame, int mask, QRecLevel level);
|
||||
extern unsigned char *MMask_mask(int version, unsigned char *frame, QRecLevel level);
|
||||
|
||||
#ifdef WITH_TESTS
|
||||
extern int MMask_evaluateSymbol(int width, unsigned char *frame);
|
||||
extern void MMask_writeFormatInformation(int version, int width, unsigned char *frame, int mask, QRecLevel level);
|
||||
extern unsigned char *MMask_makeMaskedFrame(int width, unsigned char *frame, int mask);
|
||||
#endif
|
||||
|
||||
#endif /* MMASK_H */
|
||||
@@ -0,0 +1,150 @@
|
||||
/*
|
||||
* qrencode - QR Code encoder
|
||||
*
|
||||
* Micro QR Code specification in convenient format.
|
||||
* Copyright (C) 2006-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef MQRSPEC_H
|
||||
#define MQRSPEC_H
|
||||
|
||||
#include "qrencode.h"
|
||||
|
||||
/******************************************************************************
|
||||
* Version and capacity
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Maximum width of a symbol
|
||||
*/
|
||||
#define MQRSPEC_WIDTH_MAX 17
|
||||
|
||||
/**
|
||||
* Return maximum data code length (bits) for the version.
|
||||
* @param version version of the symbol
|
||||
* @param level error correction level
|
||||
* @return maximum size (bits)
|
||||
*/
|
||||
extern int MQRspec_getDataLengthBit(int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Return maximum data code length (bytes) for the version.
|
||||
* @param version version of the symbol
|
||||
* @param level error correction level
|
||||
* @return maximum size (bytes)
|
||||
*/
|
||||
extern int MQRspec_getDataLength(int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Return maximum error correction code length (bytes) for the version.
|
||||
* @param version version of the symbol
|
||||
* @param level error correction level
|
||||
* @return ECC size (bytes)
|
||||
*/
|
||||
extern int MQRspec_getECCLength(int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Return a version number that satisfies the input code length.
|
||||
* @param size input code length (byte)
|
||||
* @param level error correction level
|
||||
* @return version number
|
||||
*/
|
||||
extern int MQRspec_getMinimumVersion(int size, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Return the width of the symbol for the version.
|
||||
* @param version version of the symbol
|
||||
* @return width
|
||||
*/
|
||||
extern int MQRspec_getWidth(int version);
|
||||
|
||||
/**
|
||||
* Return the numer of remainder bits.
|
||||
* @param version version of the symbol
|
||||
* @return number of remainder bits
|
||||
*/
|
||||
extern int MQRspec_getRemainder(int version);
|
||||
|
||||
/******************************************************************************
|
||||
* Length indicator
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Return the size of length indicator for the mode and version.
|
||||
* @param mode encode mode
|
||||
* @param version vesion of the symbol
|
||||
* @return the size of the appropriate length indicator (bits).
|
||||
*/
|
||||
extern int MQRspec_lengthIndicator(QRencodeMode mode, int version);
|
||||
|
||||
/**
|
||||
* Return the maximum length for the mode and version.
|
||||
* @param mode encode mode
|
||||
* @param version vesion of the symbol
|
||||
* @return the maximum length (bytes)
|
||||
*/
|
||||
extern int MQRspec_maximumWords(QRencodeMode mode, int version);
|
||||
|
||||
/******************************************************************************
|
||||
* Version information pattern
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Return BCH encoded version information pattern that is used for the symbol
|
||||
* of version 7 or greater. Use lower 18 bits.
|
||||
* @param version vesion of the symbol
|
||||
* @return BCH encoded version information pattern
|
||||
*/
|
||||
extern unsigned int MQRspec_getVersionPattern(int version);
|
||||
|
||||
/******************************************************************************
|
||||
* Format information
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Return BCH encoded format information pattern.
|
||||
* @param mask mask number
|
||||
* @param version version of the symbol
|
||||
* @param level error correction level
|
||||
* @return BCH encoded format information pattern
|
||||
*/
|
||||
extern unsigned int MQRspec_getFormatInfo(int mask, int version, QRecLevel level);
|
||||
|
||||
/******************************************************************************
|
||||
* Frame
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Return a copy of initialized frame.
|
||||
* @param version version of the symbol
|
||||
* @return Array of unsigned char. You can free it by free().
|
||||
*/
|
||||
extern unsigned char *MQRspec_newFrame(int version);
|
||||
|
||||
/******************************************************************************
|
||||
* Mode indicator
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Mode indicator. See Table 2 in Appendix 1 of JIS X0510:2004, pp.107.
|
||||
*/
|
||||
#define MQRSPEC_MODEID_NUM 0
|
||||
#define MQRSPEC_MODEID_AN 1
|
||||
#define MQRSPEC_MODEID_8 2
|
||||
#define MQRSPEC_MODEID_KANJI 3
|
||||
|
||||
#endif /* MQRSPEC_H */
|
||||
@@ -0,0 +1,568 @@
|
||||
/**
|
||||
* qrencode - QR Code encoder
|
||||
*
|
||||
* Copyright (C) 2006-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/** \mainpage
|
||||
* Libqrencode is a library for encoding data in a QR Code symbol, a kind of 2D
|
||||
* symbology.
|
||||
*
|
||||
* \section encoding Encoding
|
||||
*
|
||||
* There are two methods to encode data: <b>encoding a string/data</b> or
|
||||
* <b>encoding a structured data</b>.
|
||||
*
|
||||
* \subsection encoding-string Encoding a string/data
|
||||
* You can encode a string by calling QRcode_encodeString().
|
||||
* The given string is parsed automatically and encoded. If you want to encode
|
||||
* data that can be represented as a C string style (NUL terminated), you can
|
||||
* simply use this way.
|
||||
*
|
||||
* If the input data contains Kanji (Shift-JIS) characters and you want to
|
||||
* encode them as Kanji in QR Code, you should give QR_MODE_KANJI as a hint.
|
||||
* Otherwise, all of non-alphanumeric characters are encoded as 8 bit data.
|
||||
* If you want to encode a whole string in 8 bit mode, you can use
|
||||
* QRcode_encodeString8bit() instead.
|
||||
*
|
||||
* Please note that a C string can not contain NUL characters. If your data
|
||||
* contains NUL, you must use QRcode_encodeData().
|
||||
*
|
||||
* \subsection encoding-input Encoding a structured data
|
||||
* You can construct a structured input data manually. If the structure of the
|
||||
* input data is known, you can use this way.
|
||||
* At first, create a ::QRinput object by QRinput_new(). Then add input data
|
||||
* to the QRinput object by QRinput_append(). Finally call QRcode_encodeInput()
|
||||
* to encode the QRinput data.
|
||||
* You can reuse the QRinput data again to encode it in other symbols with
|
||||
* different parameters.
|
||||
*
|
||||
* \section result Result
|
||||
* The encoded symbol is resulted as a ::QRcode object. It will contain
|
||||
* its version number, width of the symbol and an array represents the symbol.
|
||||
* See ::QRcode for the details. You can free the object by QRcode_free().
|
||||
*
|
||||
* Please note that the version of the result may be larger than specified.
|
||||
* In such cases, the input data would be too large to be encoded in a
|
||||
* symbol of the specified version.
|
||||
*
|
||||
* \section structured Structured append
|
||||
* Libqrencode can generate "Structured-appended" symbols that enables to split
|
||||
* a large data set into mulitple QR codes. A QR code reader concatenates
|
||||
* multiple QR code symbols into a string.
|
||||
* Just like QRcode_encodeString(), you can use QRcode_encodeStringStructured()
|
||||
* to generate structured-appended symbols. This functions returns an instance
|
||||
* of ::QRcode_List. The returned list is a singly-linked list of QRcode: you
|
||||
* can retrieve each QR code in this way:
|
||||
*
|
||||
* \code
|
||||
* QRcode_List *qrcodes;
|
||||
* QRcode_List *entry;
|
||||
* QRcode *qrcode;
|
||||
*
|
||||
* qrcodes = QRcode_encodeStringStructured(...);
|
||||
* entry = qrcodes;
|
||||
* while(entry != NULL) {
|
||||
* qrcode = entry->code;
|
||||
* // do something
|
||||
* entry = entry->next;
|
||||
* }
|
||||
* QRcode_List_free(entry);
|
||||
* \endcode
|
||||
*
|
||||
* Instead of using auto-parsing functions, you can construct your own
|
||||
* structured input. At first, instantiate an object of ::QRinput_Struct
|
||||
* by calling QRinput_Struct_new(). This object can hold multiple ::QRinput,
|
||||
* and one QR code is generated for a ::QRinput.
|
||||
* QRinput_Struct_appendInput() appends a ::QRinput to a ::QRinput_Struct
|
||||
* object. In order to generate structured-appended symbols, it is required to
|
||||
* embed headers to each symbol. You can use
|
||||
* QRinput_Struct_insertStructuredAppendHeaders() to insert appropriate
|
||||
* headers to each symbol. You should call this function just once before
|
||||
* encoding symbols.
|
||||
*/
|
||||
|
||||
#ifndef QRENCODE_H
|
||||
#define QRENCODE_H
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Encoding mode.
|
||||
*/
|
||||
typedef enum {
|
||||
QR_MODE_NUL = -1, ///< Terminator (NUL character). Internal use only
|
||||
QR_MODE_NUM = 0, ///< Numeric mode
|
||||
QR_MODE_AN, ///< Alphabet-numeric mode
|
||||
QR_MODE_8, ///< 8-bit data mode
|
||||
QR_MODE_KANJI, ///< Kanji (shift-jis) mode
|
||||
QR_MODE_STRUCTURE, ///< Internal use only
|
||||
QR_MODE_ECI, ///< ECI mode
|
||||
QR_MODE_FNC1FIRST, ///< FNC1, first position
|
||||
QR_MODE_FNC1SECOND, ///< FNC1, second position
|
||||
} QRencodeMode;
|
||||
|
||||
/**
|
||||
* Level of error correction.
|
||||
*/
|
||||
typedef enum {
|
||||
QR_ECLEVEL_L = 0, ///< lowest
|
||||
QR_ECLEVEL_M,
|
||||
QR_ECLEVEL_Q,
|
||||
QR_ECLEVEL_H ///< highest
|
||||
} QRecLevel;
|
||||
|
||||
/**
|
||||
* Maximum version (size) of QR-code symbol.
|
||||
*/
|
||||
#define QRSPEC_VERSION_MAX 40
|
||||
|
||||
/**
|
||||
* Maximum version (size) of QR-code symbol.
|
||||
*/
|
||||
#define MQRSPEC_VERSION_MAX 4
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* Input data (qrinput.c)
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Singly linked list to contain input strings. An instance of this class
|
||||
* contains its version and error correction level too. It is required to
|
||||
* set them by QRinput_setVersion() and QRinput_setErrorCorrectionLevel(),
|
||||
* or use QRinput_new2() to instantiate an object.
|
||||
*/
|
||||
typedef struct _QRinput QRinput;
|
||||
|
||||
/**
|
||||
* Instantiate an input data object. The version is set to 0 (auto-select)
|
||||
* and the error correction level is set to QR_ECLEVEL_L.
|
||||
* @return an input object (initialized). On error, NULL is returned and errno
|
||||
* is set to indicate the error.
|
||||
* @throw ENOMEM unable to allocate memory.
|
||||
*/
|
||||
extern QRinput *QRinput_new(void);
|
||||
|
||||
/**
|
||||
* Instantiate an input data object.
|
||||
* @param version version number.
|
||||
* @param level Error correction level.
|
||||
* @return an input object (initialized). On error, NULL is returned and errno
|
||||
* is set to indicate the error.
|
||||
* @throw ENOMEM unable to allocate memory for input objects.
|
||||
* @throw EINVAL invalid arguments.
|
||||
*/
|
||||
extern QRinput *QRinput_new2(int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Instantiate an input data object. Object's Micro QR Code flag is set.
|
||||
* Unlike with full-sized QR Code, version number must be specified (>0).
|
||||
* @param version version number (1--4).
|
||||
* @param level Error correction level.
|
||||
* @return an input object (initialized). On error, NULL is returned and errno
|
||||
* is set to indicate the error.
|
||||
* @throw ENOMEM unable to allocate memory for input objects.
|
||||
* @throw EINVAL invalid arguments.
|
||||
*/
|
||||
extern QRinput *QRinput_newMQR(int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Append data to an input object.
|
||||
* The data is copied and appended to the input object.
|
||||
* @param input input object.
|
||||
* @param mode encoding mode.
|
||||
* @param size size of data (byte).
|
||||
* @param data a pointer to the memory area of the input data.
|
||||
* @retval 0 success.
|
||||
* @retval -1 an error occurred and errno is set to indeicate the error.
|
||||
* See Execptions for the details.
|
||||
* @throw ENOMEM unable to allocate memory.
|
||||
* @throw EINVAL input data is invalid.
|
||||
*
|
||||
*/
|
||||
extern int QRinput_append(QRinput *input, QRencodeMode mode, int size, const unsigned char *data);
|
||||
|
||||
/**
|
||||
* Append ECI header.
|
||||
* @param input input object.
|
||||
* @param ecinum ECI indicator number (0 - 999999)
|
||||
* @retval 0 success.
|
||||
* @retval -1 an error occurred and errno is set to indeicate the error.
|
||||
* See Execptions for the details.
|
||||
* @throw ENOMEM unable to allocate memory.
|
||||
* @throw EINVAL input data is invalid.
|
||||
*
|
||||
*/
|
||||
extern int QRinput_appendECIheader(QRinput *input, unsigned int ecinum);
|
||||
|
||||
/**
|
||||
* Get current version.
|
||||
* @param input input object.
|
||||
* @return current version.
|
||||
*/
|
||||
extern int QRinput_getVersion(QRinput *input);
|
||||
|
||||
/**
|
||||
* Set version of the QR code that is to be encoded.
|
||||
* This function cannot be applied to Micro QR Code.
|
||||
* @param input input object.
|
||||
* @param version version number (0 = auto)
|
||||
* @retval 0 success.
|
||||
* @retval -1 invalid argument.
|
||||
*/
|
||||
extern int QRinput_setVersion(QRinput *input, int version);
|
||||
|
||||
/**
|
||||
* Get current error correction level.
|
||||
* @param input input object.
|
||||
* @return Current error correcntion level.
|
||||
*/
|
||||
extern QRecLevel QRinput_getErrorCorrectionLevel(QRinput *input);
|
||||
|
||||
/**
|
||||
* Set error correction level of the QR code that is to be encoded.
|
||||
* This function cannot be applied to Micro QR Code.
|
||||
* @param input input object.
|
||||
* @param level Error correction level.
|
||||
* @retval 0 success.
|
||||
* @retval -1 invalid argument.
|
||||
*/
|
||||
extern int QRinput_setErrorCorrectionLevel(QRinput *input, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Set version and error correction level of the QR code at once.
|
||||
* This function is recommened for Micro QR Code.
|
||||
* @param input input object.
|
||||
* @param version version number (0 = auto)
|
||||
* @param level Error correction level.
|
||||
* @retval 0 success.
|
||||
* @retval -1 invalid argument.
|
||||
*/
|
||||
extern int QRinput_setVersionAndErrorCorrectionLevel(QRinput *input, int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Free the input object.
|
||||
* All of data chunks in the input object are freed too.
|
||||
* @param input input object.
|
||||
*/
|
||||
extern void QRinput_free(QRinput *input);
|
||||
|
||||
/**
|
||||
* Validate the input data.
|
||||
* @param mode encoding mode.
|
||||
* @param size size of data (byte).
|
||||
* @param data a pointer to the memory area of the input data.
|
||||
* @retval 0 success.
|
||||
* @retval -1 invalid arguments.
|
||||
*/
|
||||
extern int QRinput_check(QRencodeMode mode, int size, const unsigned char *data);
|
||||
|
||||
/**
|
||||
* Set of QRinput for structured symbols.
|
||||
*/
|
||||
typedef struct _QRinput_Struct QRinput_Struct;
|
||||
|
||||
/**
|
||||
* Instantiate a set of input data object.
|
||||
* @return an instance of QRinput_Struct. On error, NULL is returned and errno
|
||||
* is set to indicate the error.
|
||||
* @throw ENOMEM unable to allocate memory.
|
||||
*/
|
||||
extern QRinput_Struct *QRinput_Struct_new(void);
|
||||
|
||||
/**
|
||||
* Set parity of structured symbols.
|
||||
* @param s structured input object.
|
||||
* @param parity parity of s.
|
||||
*/
|
||||
extern void QRinput_Struct_setParity(QRinput_Struct *s, unsigned char parity);
|
||||
|
||||
/**
|
||||
* Append a QRinput object to the set. QRinput created by QRinput_newMQR()
|
||||
* will be rejected.
|
||||
* @warning never append the same QRinput object twice or more.
|
||||
* @param s structured input object.
|
||||
* @param input an input object.
|
||||
* @retval >0 number of input objects in the structure.
|
||||
* @retval -1 an error occurred. See Exceptions for the details.
|
||||
* @throw ENOMEM unable to allocate memory.
|
||||
* @throw EINVAL invalid arguments.
|
||||
*/
|
||||
extern int QRinput_Struct_appendInput(QRinput_Struct *s, QRinput *input);
|
||||
|
||||
/**
|
||||
* Free all of QRinput in the set.
|
||||
* @param s a structured input object.
|
||||
*/
|
||||
extern void QRinput_Struct_free(QRinput_Struct *s);
|
||||
|
||||
/**
|
||||
* Split a QRinput to QRinput_Struct. It calculates a parity, set it, then
|
||||
* insert structured-append headers. QRinput created by QRinput_newMQR() will
|
||||
* be rejected.
|
||||
* @param input input object. Version number and error correction level must be
|
||||
* set.
|
||||
* @return a set of input data. On error, NULL is returned, and errno is set
|
||||
* to indicate the error. See Exceptions for the details.
|
||||
* @throw ERANGE input data is too large.
|
||||
* @throw EINVAL invalid input data.
|
||||
* @throw ENOMEM unable to allocate memory.
|
||||
*/
|
||||
extern QRinput_Struct *QRinput_splitQRinputToStruct(QRinput *input);
|
||||
|
||||
/**
|
||||
* Insert structured-append headers to the input structure. It calculates
|
||||
* a parity and set it if the parity is not set yet.
|
||||
* @param s input structure
|
||||
* @retval 0 success.
|
||||
* @retval -1 an error occurred and errno is set to indeicate the error.
|
||||
* See Execptions for the details.
|
||||
* @throw EINVAL invalid input object.
|
||||
* @throw ENOMEM unable to allocate memory.
|
||||
*/
|
||||
extern int QRinput_Struct_insertStructuredAppendHeaders(QRinput_Struct *s);
|
||||
|
||||
/**
|
||||
* Set FNC1-1st position flag.
|
||||
*/
|
||||
extern int QRinput_setFNC1First(QRinput *input);
|
||||
|
||||
/**
|
||||
* Set FNC1-2nd position flag and application identifier.
|
||||
*/
|
||||
extern int QRinput_setFNC1Second(QRinput *input, unsigned char appid);
|
||||
|
||||
/******************************************************************************
|
||||
* QRcode output (qrencode.c)
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* QRcode class.
|
||||
* Symbol data is represented as an array contains width*width uchars.
|
||||
* Each uchar represents a module (dot). If the less significant bit of
|
||||
* the uchar is 1, the corresponding module is black. The other bits are
|
||||
* meaningless for usual applications, but here its specification is described.
|
||||
*
|
||||
* @verbatim
|
||||
MSB 76543210 LSB
|
||||
|||||||`- 1=black/0=white
|
||||
||||||`-- data and ecc code area
|
||||
|||||`--- format information
|
||||
||||`---- version information
|
||||
|||`----- timing pattern
|
||||
||`------ alignment pattern
|
||||
|`------- finder pattern and separator
|
||||
`-------- non-data modules (format, timing, etc.)
|
||||
@endverbatim
|
||||
*/
|
||||
typedef struct {
|
||||
int version; ///< version of the symbol
|
||||
int width; ///< width of the symbol
|
||||
unsigned char *data; ///< symbol data
|
||||
} QRcode;
|
||||
|
||||
/**
|
||||
* Singly-linked list of QRcode. Used to represent a structured symbols.
|
||||
* A list is terminated with NULL.
|
||||
*/
|
||||
typedef struct _QRcode_List {
|
||||
QRcode *code;
|
||||
struct _QRcode_List *next;
|
||||
} QRcode_List;
|
||||
|
||||
/**
|
||||
* Create a symbol from the input data.
|
||||
* @warning This function is THREAD UNSAFE when pthread is disabled.
|
||||
* @param input input data.
|
||||
* @return an instance of QRcode class. The version of the result QRcode may
|
||||
* be larger than the designated version. On error, NULL is returned,
|
||||
* and errno is set to indicate the error. See Exceptions for the
|
||||
* details.
|
||||
* @throw EINVAL invalid input object.
|
||||
* @throw ENOMEM unable to allocate memory for input objects.
|
||||
*/
|
||||
extern QRcode *QRcode_encodeInput(QRinput *input);
|
||||
|
||||
/**
|
||||
* Create a symbol from the string. The library automatically parses the input
|
||||
* string and encodes in a QR Code symbol.
|
||||
* @warning This function is THREAD UNSAFE when pthread is disabled.
|
||||
* @param string input string. It must be NUL terminated.
|
||||
* @param version version of the symbol. If 0, the library chooses the minimum
|
||||
* version for the given input data.
|
||||
* @param level error correction level.
|
||||
* @param hint tell the library how Japanese Kanji characters should be
|
||||
* encoded. If QR_MODE_KANJI is given, the library assumes that the
|
||||
* given string contains Shift-JIS characters and encodes them in
|
||||
* Kanji-mode. If QR_MODE_8 is given, all of non-alphanumerical
|
||||
* characters will be encoded as is. If you want to embed UTF-8
|
||||
* string, choose this. Other mode will cause EINVAL error.
|
||||
* @param casesensitive case-sensitive(1) or not(0).
|
||||
* @return an instance of QRcode class. The version of the result QRcode may
|
||||
* be larger than the designated version. On error, NULL is returned,
|
||||
* and errno is set to indicate the error. See Exceptions for the
|
||||
* details.
|
||||
* @throw EINVAL invalid input object.
|
||||
* @throw ENOMEM unable to allocate memory for input objects.
|
||||
* @throw ERANGE input data is too large.
|
||||
*/
|
||||
extern QRcode *QRcode_encodeString(const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive);
|
||||
|
||||
/**
|
||||
* Same to QRcode_encodeString(), but encode whole data in 8-bit mode.
|
||||
* @warning This function is THREAD UNSAFE when pthread is disabled.
|
||||
*/
|
||||
extern QRcode *QRcode_encodeString8bit(const char *string, int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Micro QR Code version of QRcode_encodeString().
|
||||
* @warning This function is THREAD UNSAFE when pthread is disabled.
|
||||
*/
|
||||
extern QRcode *QRcode_encodeStringMQR(const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive);
|
||||
|
||||
/**
|
||||
* Micro QR Code version of QRcode_encodeString8bit().
|
||||
* @warning This function is THREAD UNSAFE when pthread is disabled.
|
||||
*/
|
||||
extern QRcode *QRcode_encodeString8bitMQR(const char *string, int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Encode byte stream (may include '\0') in 8-bit mode.
|
||||
* @warning This function is THREAD UNSAFE when pthread is disabled.
|
||||
* @param size size of the input data.
|
||||
* @param data input data.
|
||||
* @param version version of the symbol. If 0, the library chooses the minimum
|
||||
* version for the given input data.
|
||||
* @param level error correction level.
|
||||
* @throw EINVAL invalid input object.
|
||||
* @throw ENOMEM unable to allocate memory for input objects.
|
||||
* @throw ERANGE input data is too large.
|
||||
*/
|
||||
extern QRcode *QRcode_encodeData(int size, const unsigned char *data, int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Micro QR Code version of QRcode_encodeData().
|
||||
* @warning This function is THREAD UNSAFE when pthread is disabled.
|
||||
*/
|
||||
extern QRcode *QRcode_encodeDataMQR(int size, const unsigned char *data, int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Free the instance of QRcode class.
|
||||
* @param qrcode an instance of QRcode class.
|
||||
*/
|
||||
extern void QRcode_free(QRcode *qrcode);
|
||||
|
||||
/**
|
||||
* Create structured symbols from the input data.
|
||||
* @warning This function is THREAD UNSAFE when pthread is disabled.
|
||||
* @param s input data, structured.
|
||||
* @return a singly-linked list of QRcode.
|
||||
*/
|
||||
extern QRcode_List *QRcode_encodeInputStructured(QRinput_Struct *s);
|
||||
|
||||
/**
|
||||
* Create structured symbols from the string. The library automatically parses
|
||||
* the input string and encodes in a QR Code symbol.
|
||||
* @warning This function is THREAD UNSAFE when pthread is disabled.
|
||||
* @param string input string. It must be NUL terminated.
|
||||
* @param version version of the symbol.
|
||||
* @param level error correction level.
|
||||
* @param hint tell the library how Japanese Kanji characters should be
|
||||
* encoded. If QR_MODE_KANJI is given, the library assumes that the
|
||||
* given string contains Shift-JIS characters and encodes them in
|
||||
* Kanji-mode. If QR_MODE_8 is given, all of non-alphanumerical
|
||||
* characters will be encoded as is. If you want to embed UTF-8
|
||||
* string, choose this. Other mode will cause EINVAL error.
|
||||
* @param casesensitive case-sensitive(1) or not(0).
|
||||
* @return a singly-linked list of QRcode. On error, NULL is returned, and
|
||||
* errno is set to indicate the error. See Exceptions for the details.
|
||||
* @throw EINVAL invalid input object.
|
||||
* @throw ENOMEM unable to allocate memory for input objects.
|
||||
*/
|
||||
extern QRcode_List *QRcode_encodeStringStructured(const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive);
|
||||
|
||||
/**
|
||||
* Same to QRcode_encodeStringStructured(), but encode whole data in 8-bit mode.
|
||||
* @warning This function is THREAD UNSAFE when pthread is disabled.
|
||||
*/
|
||||
extern QRcode_List *QRcode_encodeString8bitStructured(const char *string, int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Create structured symbols from byte stream (may include '\0'). Wholde data
|
||||
* are encoded in 8-bit mode.
|
||||
* @warning This function is THREAD UNSAFE when pthread is disabled.
|
||||
* @param size size of the input data.
|
||||
* @param data input dat.
|
||||
* @param version version of the symbol.
|
||||
* @param level error correction level.
|
||||
* @return a singly-linked list of QRcode. On error, NULL is returned, and
|
||||
* errno is set to indicate the error. See Exceptions for the details.
|
||||
* @throw EINVAL invalid input object.
|
||||
* @throw ENOMEM unable to allocate memory for input objects.
|
||||
*/
|
||||
extern QRcode_List *QRcode_encodeDataStructured(int size, const unsigned char *data, int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Return the number of symbols included in a QRcode_List.
|
||||
* @param qrlist a head entry of a QRcode_List.
|
||||
* @return number of symbols in the list.
|
||||
*/
|
||||
extern int QRcode_List_size(QRcode_List *qrlist);
|
||||
|
||||
/**
|
||||
* Free the QRcode_List.
|
||||
* @param qrlist a head entry of a QRcode_List.
|
||||
*/
|
||||
extern void QRcode_List_free(QRcode_List *qrlist);
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* System utilities
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Return a string that identifies the library version.
|
||||
* @param major_version major version number
|
||||
* @param minor_version minor version number
|
||||
* @param micro_version micro version number
|
||||
*/
|
||||
extern void QRcode_APIVersion(int *major_version, int *minor_version, int *micro_version);
|
||||
|
||||
/**
|
||||
* Return a string that identifies the library version.
|
||||
* @return a string identifies the library version. The string is held by the
|
||||
* library. Do NOT free it.
|
||||
*/
|
||||
extern char *QRcode_APIVersionString(void);
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
#ifndef _MSC_VER
|
||||
extern void QRcode_clearCache(void) __attribute__ ((deprecated));
|
||||
#else
|
||||
extern void QRcode_clearCache(void);
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* QRENCODE_H */
|
||||
@@ -0,0 +1,88 @@
|
||||
/**
|
||||
* qrencode - QR Code encoder
|
||||
*
|
||||
* Header for test use
|
||||
* Copyright (C) 2006-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef QRENCODE_INNER_H
|
||||
#define QRENCODE_INNER_H
|
||||
|
||||
/**
|
||||
* This header file includes definitions for test use.
|
||||
*/
|
||||
|
||||
/******************************************************************************
|
||||
* Raw code
|
||||
*****************************************************************************/
|
||||
|
||||
typedef struct {
|
||||
int dataLength;
|
||||
int eccLength;
|
||||
unsigned char *data;
|
||||
unsigned char *ecc;
|
||||
} RSblock;
|
||||
|
||||
typedef struct {
|
||||
int version;
|
||||
int dataLength;
|
||||
int eccLength;
|
||||
unsigned char *datacode;
|
||||
unsigned char *ecccode;
|
||||
int b1;
|
||||
int blocks;
|
||||
RSblock *rsblock;
|
||||
int count;
|
||||
} QRRawCode;
|
||||
|
||||
extern QRRawCode *QRraw_new(QRinput *input);
|
||||
extern unsigned char QRraw_getCode(QRRawCode *raw);
|
||||
extern void QRraw_free(QRRawCode *raw);
|
||||
|
||||
/******************************************************************************
|
||||
* Raw code for Micro QR Code
|
||||
*****************************************************************************/
|
||||
|
||||
typedef struct {
|
||||
int version;
|
||||
int dataLength;
|
||||
int eccLength;
|
||||
unsigned char *datacode;
|
||||
unsigned char *ecccode;
|
||||
RSblock *rsblock;
|
||||
int oddbits;
|
||||
int count;
|
||||
} MQRRawCode;
|
||||
|
||||
extern MQRRawCode *MQRraw_new(QRinput *input);
|
||||
extern unsigned char MQRraw_getCode(MQRRawCode *raw);
|
||||
extern void MQRraw_free(MQRRawCode *raw);
|
||||
|
||||
/******************************************************************************
|
||||
* Frame filling
|
||||
*****************************************************************************/
|
||||
extern unsigned char *FrameFiller_test(int version);
|
||||
extern unsigned char *FrameFiller_testMQR(int version);
|
||||
|
||||
/******************************************************************************
|
||||
* QR-code encoding
|
||||
*****************************************************************************/
|
||||
extern QRcode *QRcode_encodeMask(QRinput *input, int mask);
|
||||
extern QRcode *QRcode_encodeMaskMQR(QRinput *input, int mask);
|
||||
extern QRcode *QRcode_new(int version, int width, unsigned char *data);
|
||||
|
||||
#endif /* QRENCODE_INNER_H */
|
||||
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
* qrencode - QR Code encoder
|
||||
*
|
||||
* Input data chunk class
|
||||
* Copyright (C) 2006-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef QRINPUT_H
|
||||
#define QRINPUT_H
|
||||
|
||||
#include "qrencode.h"
|
||||
#include "bitstream.h"
|
||||
|
||||
int QRinput_isSplittableMode(QRencodeMode mode);
|
||||
|
||||
/******************************************************************************
|
||||
* Entry of input data
|
||||
*****************************************************************************/
|
||||
typedef struct _QRinput_List QRinput_List;
|
||||
|
||||
struct _QRinput_List {
|
||||
QRencodeMode mode;
|
||||
int size; ///< Size of data chunk (byte).
|
||||
unsigned char *data; ///< Data chunk.
|
||||
BitStream *bstream;
|
||||
QRinput_List *next;
|
||||
};
|
||||
|
||||
/******************************************************************************
|
||||
* Input Data
|
||||
*****************************************************************************/
|
||||
struct _QRinput {
|
||||
int version;
|
||||
QRecLevel level;
|
||||
QRinput_List *head;
|
||||
QRinput_List *tail;
|
||||
int mqr;
|
||||
int fnc1;
|
||||
unsigned char appid;
|
||||
};
|
||||
|
||||
/******************************************************************************
|
||||
* Structured append input data
|
||||
*****************************************************************************/
|
||||
typedef struct _QRinput_InputList QRinput_InputList;
|
||||
|
||||
struct _QRinput_InputList {
|
||||
QRinput *input;
|
||||
QRinput_InputList *next;
|
||||
};
|
||||
|
||||
struct _QRinput_Struct {
|
||||
int size; ///< number of structured symbols
|
||||
int parity;
|
||||
QRinput_InputList *head;
|
||||
QRinput_InputList *tail;
|
||||
};
|
||||
|
||||
/**
|
||||
* Pack all bit streams padding bits into a byte array.
|
||||
* @param input input data.
|
||||
* @return padded merged byte stream
|
||||
*/
|
||||
extern unsigned char *QRinput_getByteStream(QRinput *input);
|
||||
|
||||
|
||||
extern int QRinput_estimateBitsModeNum(int size);
|
||||
extern int QRinput_estimateBitsModeAn(int size);
|
||||
extern int QRinput_estimateBitsMode8(int size);
|
||||
extern int QRinput_estimateBitsModeKanji(int size);
|
||||
|
||||
extern QRinput *QRinput_dup(QRinput *input);
|
||||
|
||||
extern const signed char QRinput_anTable[128];
|
||||
|
||||
/**
|
||||
* Look up the alphabet-numeric convesion table (see JIS X0510:2004, pp.19).
|
||||
* @param __c__ character
|
||||
* @return value
|
||||
*/
|
||||
#define QRinput_lookAnTable(__c__) \
|
||||
((__c__ & 0x80)?-1:QRinput_anTable[(int)__c__])
|
||||
|
||||
/**
|
||||
* Length of a standard mode indicator in bits.
|
||||
*/
|
||||
|
||||
#define MODE_INDICATOR_SIZE 4
|
||||
|
||||
/**
|
||||
* Length of a segment of structured-append header.
|
||||
*/
|
||||
#define STRUCTURE_HEADER_SIZE 20
|
||||
|
||||
/**
|
||||
* Maximum number of symbols in a set of structured-appended symbols.
|
||||
*/
|
||||
#define MAX_STRUCTURED_SYMBOLS 16
|
||||
|
||||
#ifdef WITH_TESTS
|
||||
extern int QRinput_mergeBitStream(QRinput *input, BitStream *bstream);
|
||||
extern int QRinput_getBitStream(QRinput *input, BitStream *bstream);
|
||||
extern int QRinput_estimateBitStreamSize(QRinput *input, int version);
|
||||
extern int QRinput_splitEntry(QRinput_List *entry, int bytes);
|
||||
extern int QRinput_lengthOfCode(QRencodeMode mode, int version, int bits);
|
||||
extern int QRinput_insertStructuredAppendHeader(QRinput *input, int size, int index, unsigned char parity);
|
||||
#endif
|
||||
|
||||
#endif /* QRINPUT_H */
|
||||
@@ -0,0 +1,174 @@
|
||||
/*
|
||||
* qrencode - QR Code encoder
|
||||
*
|
||||
* QR Code specification in convenient format.
|
||||
* Copyright (C) 2006-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef QRSPEC_H
|
||||
#define QRSPEC_H
|
||||
|
||||
#include "qrencode.h"
|
||||
|
||||
/******************************************************************************
|
||||
* Version and capacity
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Maximum width of a symbol
|
||||
*/
|
||||
#define QRSPEC_WIDTH_MAX 177
|
||||
|
||||
/**
|
||||
* Return maximum data code length (bytes) for the version.
|
||||
* @param version version of the symbol
|
||||
* @param level error correction level
|
||||
* @return maximum size (bytes)
|
||||
*/
|
||||
extern int QRspec_getDataLength(int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Return maximum error correction code length (bytes) for the version.
|
||||
* @param version version of the symbol
|
||||
* @param level error correction level
|
||||
* @return ECC size (bytes)
|
||||
*/
|
||||
extern int QRspec_getECCLength(int version, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Return a version number that satisfies the input code length.
|
||||
* @param size input code length (byte)
|
||||
* @param level error correction level
|
||||
* @return version number
|
||||
*/
|
||||
extern int QRspec_getMinimumVersion(int size, QRecLevel level);
|
||||
|
||||
/**
|
||||
* Return the width of the symbol for the version.
|
||||
* @param version vesion of the symbol
|
||||
* @return width of the symbol
|
||||
*/
|
||||
extern int QRspec_getWidth(int version);
|
||||
|
||||
/**
|
||||
* Return the numer of remainder bits.
|
||||
* @param version vesion of the symbol
|
||||
* @return number of remainder bits
|
||||
*/
|
||||
extern int QRspec_getRemainder(int version);
|
||||
|
||||
/******************************************************************************
|
||||
* Length indicator
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Return the size of length indicator for the mode and version.
|
||||
* @param mode encode mode
|
||||
* @param version vesion of the symbol
|
||||
* @return the size of the appropriate length indicator (bits).
|
||||
*/
|
||||
extern int QRspec_lengthIndicator(QRencodeMode mode, int version);
|
||||
|
||||
/**
|
||||
* Return the maximum length for the mode and version.
|
||||
* @param mode encode mode
|
||||
* @param version vesion of the symbol
|
||||
* @return the maximum length (bytes)
|
||||
*/
|
||||
extern int QRspec_maximumWords(QRencodeMode mode, int version);
|
||||
|
||||
/******************************************************************************
|
||||
* Error correction code
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Return an array of ECC specification.
|
||||
* @param version version of the symbol
|
||||
* @param level error correction level
|
||||
* @param spec an array of ECC specification contains as following:
|
||||
* {# of type1 blocks, # of data code, # of ecc code,
|
||||
* # of type2 blocks, # of data code}
|
||||
*/
|
||||
void QRspec_getEccSpec(int version, QRecLevel level, int spec[5]);
|
||||
|
||||
#define QRspec_rsBlockNum(__spec__) (__spec__[0] + __spec__[3])
|
||||
#define QRspec_rsBlockNum1(__spec__) (__spec__[0])
|
||||
#define QRspec_rsDataCodes1(__spec__) (__spec__[1])
|
||||
#define QRspec_rsEccCodes1(__spec__) (__spec__[2])
|
||||
#define QRspec_rsBlockNum2(__spec__) (__spec__[3])
|
||||
#define QRspec_rsDataCodes2(__spec__) (__spec__[4])
|
||||
#define QRspec_rsEccCodes2(__spec__) (__spec__[2])
|
||||
|
||||
#define QRspec_rsDataLength(__spec__) \
|
||||
((QRspec_rsBlockNum1(__spec__) * QRspec_rsDataCodes1(__spec__)) + \
|
||||
(QRspec_rsBlockNum2(__spec__) * QRspec_rsDataCodes2(__spec__)))
|
||||
#define QRspec_rsEccLength(__spec__) \
|
||||
(QRspec_rsBlockNum(__spec__) * QRspec_rsEccCodes1(__spec__))
|
||||
|
||||
/******************************************************************************
|
||||
* Version information pattern
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Return BCH encoded version information pattern that is used for the symbol
|
||||
* of version 7 or greater. Use lower 18 bits.
|
||||
* @param version version of the symbol
|
||||
* @return BCH encoded version information pattern
|
||||
*/
|
||||
extern unsigned int QRspec_getVersionPattern(int version);
|
||||
|
||||
/******************************************************************************
|
||||
* Format information
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Return BCH encoded format information pattern.
|
||||
* @param mask mask number
|
||||
* @param level error correction level
|
||||
* @return BCH encoded format information pattern
|
||||
*/
|
||||
extern unsigned int QRspec_getFormatInfo(int mask, QRecLevel level);
|
||||
|
||||
/******************************************************************************
|
||||
* Frame
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Return a copy of initialized frame.
|
||||
* @param version version of the symbol
|
||||
* @return Array of unsigned char. You can free it by free().
|
||||
*/
|
||||
extern unsigned char *QRspec_newFrame(int version);
|
||||
|
||||
/******************************************************************************
|
||||
* Mode indicator
|
||||
*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Mode indicator. See Table 2 of JIS X0510:2004, pp.16.
|
||||
*/
|
||||
#define QRSPEC_MODEID_ECI 7
|
||||
#define QRSPEC_MODEID_NUM 1
|
||||
#define QRSPEC_MODEID_AN 2
|
||||
#define QRSPEC_MODEID_8 4
|
||||
#define QRSPEC_MODEID_KANJI 8
|
||||
#define QRSPEC_MODEID_FNC1FIRST 5
|
||||
#define QRSPEC_MODEID_FNC1SECOND 9
|
||||
#define QRSPEC_MODEID_STRUCTURE 3
|
||||
#define QRSPEC_MODEID_TERMINATOR 0
|
||||
|
||||
#endif /* QRSPEC_H */
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* qrencode - QR Code encoder
|
||||
*
|
||||
* Reed solomon error correction code encoder specialized for QR code.
|
||||
* This code is rewritten by Kentaro Fukuchi, referring to the FEC library
|
||||
* developed by Phil Karn (KA9Q).
|
||||
*
|
||||
* Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q
|
||||
* Copyright (C) 2014-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef RSECC_H
|
||||
#define RSECC_H
|
||||
|
||||
extern int RSECC_encode(size_t data_length, size_t ecc_length, const unsigned char *data, unsigned char *ecc);
|
||||
|
||||
#endif /* RSECC_H */
|
||||
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* qrencode - QR Code encoder
|
||||
*
|
||||
* Input data splitter.
|
||||
* Copyright (C) 2006-2017 Kentaro Fukuchi <kentaro@fukuchi.org>
|
||||
*
|
||||
* The following data / specifications are taken from
|
||||
* "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004)
|
||||
* or
|
||||
* "Automatic identification and data capture techniques --
|
||||
* QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006)
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef SPLIT_H
|
||||
#define SPLIT_H
|
||||
|
||||
#include "qrencode.h"
|
||||
|
||||
/**
|
||||
* Split the input string (null terminated) into QRinput.
|
||||
* @param string input string
|
||||
* @param hint give QR_MODE_KANJI if the input string contains Kanji character encoded in Shift-JIS. If not, give QR_MODE_8.
|
||||
* @param casesensitive 0 for case-insensitive encoding (all alphabet characters are replaced to UPPER-CASE CHARACTERS.
|
||||
* @retval 0 success.
|
||||
* @retval -1 an error occurred. errno is set to indicate the error. See
|
||||
* Exceptions for the details.
|
||||
* @throw EINVAL invalid input object.
|
||||
* @throw ENOMEM unable to allocate memory for input objects.
|
||||
*/
|
||||
extern int Split_splitStringToQRinput(const char *string, QRinput *input,
|
||||
QRencodeMode hint, int casesensitive);
|
||||
|
||||
#endif /* SPLIT_H */
|
||||
@@ -8,7 +8,7 @@ public class MKCC : ModuleRules
|
||||
{
|
||||
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||
|
||||
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
|
||||
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "QRcode" });
|
||||
|
||||
PrivateDependencyModuleNames.AddRange(new string[] { });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user