#pragma once #include #include #include #include #include #include namespace hex::plugin::builtin { 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; Region m_analyzedRegion = { 0, 0 }; std::string m_dataDescription; std::string m_dataMimeType; void analyze(); }; }