
рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╖рдп рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ, рдпреВрдЬрд░рд╕реНрдЯреЗрдЯреНрд╕ рдФрд░ wxWidgets рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реИред рд╣рдо рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреАрдпреВрдЖрдИ рдЖрд╡реЗрджрди рд▓рд┐рдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрдкрд▓рдмреНрдзрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рд╣рдореЗрдВ
wxWidgets рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг
2.8.12 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ рдФрд░ рддреИрдпрд╛рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ:
" "\build\msw\wx.dsw
рдпрд╛ рддреЛ VS20xx x86 рдиреЗрдЯрд┐рд╡ рдЯреВрд▓ рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдЪрд▓рд╛рдПрдВ рдФрд░ рдЪрд▓рд╛рдПрдВ:
nmake /f makefile.vc
рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдорд┐рдВрдЧ рд╣реИ:
mingw32-make -f makefile.gcc
рдмрд┐рд▓реНрдб рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд▓рд┐рдм рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреА рд╕рдВрдХрд▓рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдлрд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдпрд╛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред
WxWidgets рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
#include "wx/wx.h"
рд╣рдо рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рд╡рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдкрд░ OnInit () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
class MyApp: public wxApp { virtual bool OnInit(); };
рд╣рдо рдЕрдкрдиреЗ рдлреНрд░реЗрдо рдХреЗ рд╡рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдореБрдЦреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдВрдбреЛред
class MyFrame: public wxFrame { public: MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size); void OnQuit(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); void OpenFile(wxCommandEvent& event); void InitializeSteam();
рдореЗрдиреВ рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рдЖрдИрдбреА рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ред
enum { ID_Quit = 1, ID_About, ID_Open, TEXT_Main };
OnInit рд╡рд┐рдзрд┐ рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
bool MyApp::OnInit() { wxInitAllImageHandlers();
рд╣рдо рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдЯреАрдорд╡рд░реНрдХреНрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВред
MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) : wxFrame( NULL, -1, title, pos, size ) {
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдкрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛ред
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) { Close(TRUE); }
рдореЗрдиреВ рдореЗрдВ рд╕рдВрд╡рд╛рдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { wxMessageBox( _("Fake uploader by Dinisoid"), _("Fake uploader"), wxOK | wxICON_INFORMATION, this); }
рдЬрдм рд╣рдо Open рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╡рд╣ рдбрд╛рдпрд▓реЙрдЧ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
void MyFrame::OpenFile(wxCommandEvent& WXUNUSED(event)) {
рд╣рдо рд╕реНрдЯреАрдо рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрдкрд▓рдмреНрдзрд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
void MyFrame::InitializeSteam() { Client = (ISteamClient012 *)loader.GetSteam3Factory()(STEAMCLIENT_INTERFACE_VERSION_012, NULL); if ( !Client ) { printf("Unable to get ISteamClient."); } HSteamPipe pipe = Client->CreateSteamPipe(); if ( !pipe ) { printf("Unable to get pipe"); } HSteamUser user = Client->ConnectToGlobalUser( pipe ); if ( !user ) { printf("Unable connect to global user"); } screenShots = (ISteamScreenshots001*)Client->GetISteamScreenshots(user, pipe, STEAMSCREENSHOTS_INTERFACE_VERSION_001); userStats = (ISteamUserStats002 *)Client->GetISteamUserStats(user, pipe, STEAMUSERSTATS_INTERFACE_VERSION_002); ShowAchievements(); }
рд╣рдо рдПрдХ рдирдХрд▓реА рдЫрд╡рд┐ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддреЗ рд╣реИрдВред
void MyFrame::WriteImage(wxString CurrentDocPath) { wxImage image(CurrentDocPath);
рд╣рдо EditBox-e рдореЗрдВ рдЙрдкрд▓рдмреНрдзрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред
void MyFrame::ShowAchievements() { CGameID Kfgame(1250);
рдПрдХ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдЫрд╡рд┐
рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг ред
рд╣рдо рдореБрдЦреНрдп рд╕рдВрдкрд╛рджрди рдмреЙрдХреНрд╕ рдореЗрдВ рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рдХреА рдЧрдИ рдЙрдкрд▓рдмреНрдзрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ-> рдЦреЛрд▓реЗрдВ рдФрд░ рд▓рд┐рдЦреЗрдВред
