File: TextureLoaderPkm.h

package info (click to toggle)
jazz2-native 3.5.0-1
  • links: PTS, VCS
  • area: contrib
  • in suites:
  • size: 16,836 kB
  • sloc: cpp: 172,557; xml: 113; python: 36; makefile: 5; sh: 2
file content (38 lines) | stat: -rw-r--r-- 919 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#pragma once

#include "../../Main.h"

#if (defined(DEATH_TARGET_ANDROID) && defined(WITH_OPENGLES)) || defined(DOXYGEN_GENERATING_OUTPUT)

#include "ITextureLoader.h"

namespace nCine
{
	/// PKM texture loader
	class TextureLoaderPkm : public ITextureLoader
	{
	public:
		explicit TextureLoaderPkm(std::unique_ptr<Death::IO::Stream> fileHandle);

	private:
#ifndef DOXYGEN_GENERATING_OUTPUT
		// Doxygen 1.12.0 outputs also private structs/unions even if it shouldn't
		/// Header for the PKM header
		/*! The extended width and height are the dimensions rounded up to a multiple of 4.
		 *  The total data size in bytes is (extendedWidth / 4) * (extendedHeight / 4) * 8
		 */
		struct PkmHeader
		{
			std::uint32_t magicId;
			std::uint16_t version;
			std::uint16_t dataType;
			std::uint16_t extendedWidth;
			std::uint16_t extendedHeight;
			std::uint16_t width;
			std::uint16_t height;
		};
#endif
	};
}

#endif