//
// Written by John A deLaubenfels, https://www.adaptune.com/steg.htm .
// Permission granted to use freely in any non-fraudulent way.
//


#pragma once

#include "afxdialogex.h"
#include <string>
#include <vector>
#include "globs.h"
#include "jgrlil.h"
#include "jarq.h"


// ExtractDlg dialog

class ExtractDlg : public CDialogEx
{
   DECLARE_DYNAMIC(ExtractDlg)

public:
   ExtractDlg(CWnd* pParent = nullptr);   // standard constructor
   virtual ~ExtractDlg();

// Dialog Data
#ifdef AFX_DESIGN_TIME
   enum { IDD = IDD_EXTRACT };
#endif

protected:
   virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

   DECLARE_MESSAGE_MAP()
public:
   virtual BOOL PreTranslateMessage(MSG* pMsg);
   virtual BOOL OnInitDialog();
   afx_msg void OnClickedButnStuffed();
   CEdit m_cEdt_stuffed;
   std::string m_ssStuffed;
   afx_msg void OnSetfocusEdtStuffed();
   afx_msg void OnKillfocusEdtStuffed();
   int m_enterAction;
   afx_msg void OnClickedButnGo();
   jgrLil      m_jgrSrc;
   std::vector<unsigned long long> m_passwordSeedVector;
   JarqAnch    m_myJrq;
   std::string m_ssFileName;
   std::string m_ssPathName;
   bool  m_bDidFileThing;
   // CEdit m_cEdt_test1;
   stegInfo *m_pCommonInfo;
   std::vector<std::vector<unsigned char>> m_vcVcContentsOut;
   // std::vector<onePair> m_vcBackRatios;
   afx_msg void OnClickedButnMsg();
   virtual void OnOK();
   virtual void OnCancel();
};
