#pragma once #include #include #include #include #include #include namespace hex::plugin::builtin { namespace prv { class Provider; } class ViewInformation : public View { public: explicit ViewInformation(); ~ViewInformation() override; void drawContent() override; private: bool m_dataValid = false; u32 m_blockSize = 0; float m_averageEntropy = 0; float m_highestBlockEntropy = 0; std::vector m_blockEntropy; double m_entropyHandlePosition; std::array m_valueCounts = { 0 }; bool m_analyzing = false; std::pair m_analyzedRegion = { 0, 0 }; std::string m_fileDescription; std::string m_mimeType; void analyze(); }; }