Awesomium рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдХреНрд░реЛрдорд┐рдпрдо-рдЖрдзрд╛рд░рд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред Awesomium рдХрд╛ рдкреВрд░рд╛ рдЖрдХрд░реНрд╖рдг рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (Unity3D рдкрд░ рдЖрдзрд╛рд░рд┐рдд 3D рдЧреЗрдо рдореЗрдВ рдПрдХреАрдХрд░рдг рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ), рдЗрд╕рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдФрд░, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред
рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдорд╛рдореВрд▓реА рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИрдВ, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрдИ рдЙрджрд╛рд╣рд░рдг рдФрд░ рд╕рдореБрджрд╛рдп рдирд╣реАрдВ рд╣реИрдВ (рдпрд╣ рд╕реА ++ рдХреЗ рддрд╣рдд рд╡рд┐рдХрд╛рд╕ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рд╕рд╣рдпреЛрдЧреА рдЕрдзрд┐рдХ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ)ред рдореБрдЭреЗ рдХреБрдЫ рдкрд▓реЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдереЛрдбрд╝рд╛-рдереЛрдбрд╝рд╛ рдХрд░рдХреЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдерд╛, рдЬрдмрдХрд┐ рджреВрд╕рд░реЛрдВ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдмрд╛рдж рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ред
рдФрд░ рдХреБрдЫ рдЬреНрдЮрд╛рди рдЕрд░реНрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рдкрд╣рд▓рд╛ рдирд╣реАрдВ рд╣реВрдВ рдФрд░ рдЖрдЦрд┐рд░реА рдирд╣реАрдВ рд╣реВрдВ рдЬреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЬрд╛рдПрдЧрд╛ред
рдореИрдВ рдЖрдкрдХреЛ рддреБрд░рдВрдд рдЪреЗрддрд╛рд╡рдиреА рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рд╢рд╛рдпрдж рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рдореБрдЭреЗ рдЧрд▓рдд рд╕рдордЭрд╛ рдЧрдпрд╛ рдпрд╛ рдЧрд▓рдд рд╕рдордЭрд╛ рдЧрдпрд╛, рдЖрдкрдХреЛ рдХрдбрд╝рд╛рдИ рд╕реЗ рдиреНрдпрд╛рдп рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд╕ рд╕рд╣реА рд░рд╛рд╕реНрддреЗ рдкрд░ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП, рдореИрдВ рдмрд╣реБрдд рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛редрдЦрд┐рдбрд╝рдХреА рдФрд░ рдЦрд┐рдбрд╝рдХреА рд░рд╣рд┐рдд Awesomium
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдХрд╣рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ Awesomium рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ 2 рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ:
- рдСрдлрд╝рд╕реНрдХреНрд░реАрди - рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ (рдкреГрд╖реНрда рдкрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХрд╛ рд╕рднреА рдкреНрд░рддрд┐рдкрд╛рджрди рдФрд░ рдХрд╛рд░реНрдп рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ) рдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрд╛ рд╣реБрдЖ рд╣реИ
- рдЦрд┐рдбрд╝рдХреА рд╡рд╛рд▓реА - рдПрдЬрд╝реЛрд╕рдорд┐рдпрдо рдХреБрдЫ рдЦрд┐рдбрд╝рдХреА рд╕реЗ "рдЪрд┐рдкрдХ рдЬрд╛рддреА рд╣реИ" рдФрд░ рдЙрд╕ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдЙрд╕ рдФрд░ рдХреАрдмреЛрд░реНрдб рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЖрд░реЗрдЦрдг, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдкрд╣рд▓рд╛ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рдВрдбреЛ рдХреЗ рдмрд┐рдирд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рддреБрдо рднреА рдПрдХ рд╕рд╛рдВрддреНрд╡рдирд╛ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рд╣рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдЕрдЪреНрдЫреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдФрд░ рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рджреВрд╕рд░реА рд╡рд┐рдзрд╛ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдереА - рд╡рд┐рдВрдбреЛреЗрдбред
рд╡рд┐рдВрдбреЛреЗрдб рдПрд╡рдЬрд╝реЛрдорд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рд╡рд┐рдВрдбреЛ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рдкреВрд░реНрдг рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореБрдЦреНрдп рдмрд╛рдд рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧреА - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рдиред рд▓реЗрдХрд┐рди рдпрд╣ рди рд╕реЛрдЪреЗрдВ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдкреВрд░реНрдг рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдорд┐рд▓реЗрдЧрд╛, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдХрд╛рд░реНрдп рдХрд╛ рд╢реЗрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдХрдВрдзреЛрдВ рдкрд░ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб / рдЕрдкрд▓реЛрдб рд╕рдВрд╡рд╛рдж (рд╣рд╛рдБ, рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рднреА рд╕рдВрд╡рд╛рдж), рдкреЙрдк-рдЕрдк рдореЗрдиреВ, рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА, рдирдП рдЯреИрдм рдмрдирд╛рдирд╛, рдЖрджрд┐ред
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рд╕рдВрд░рдЪрдирд╛
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рд╕рдВрд░рдЪрдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╣рд▓реЗ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛):
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдореВрд▓ рдХреЛрд░ (
рд╡реЗрдмрдХреЛрд░ ) рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдХреЛрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдмрджрд▓реЗ рдореЗрдВ рдХреБрдЫ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдЯреИрдм рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдЬреЗрдВрдЯреЛрдВ рд╕реЗ рд░рджреНрдж рд╣реЛ, рддреЛ рдЖрдк рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдЬреЗрдВрдЯ рдХрд╛ рдореВрд▓реНрдп рдХрд░реНрдиреЗрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИред
рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдЕрдЧрд▓рд╛ рд╣реИ
WebView - рдпрд╣ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ WebView рдмрдирд╛рддреЗ рд╕рдордп, рдПрдХ рдЕрд▓рдЧ рдХреНрд░реЛрдорд┐рдпрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХреА рдЬрд╛рддреА рд╣реИред рдЬрдм рдЖрдкрдХреЛ WebView рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рд╛рдл рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ, рдЕрдиреНрдпрдерд╛ рдЬрдм рддрдХ рд╣рдо WebCore рдХреЛ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ, рддрдм рддрдХ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓рдЯрдХрд╛рдПрдЧреАред
рдкреНрд░рддреНрдпреЗрдХ WebView рдПрдХ рд╕рддреНрд░ (
WebSession ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╕рддреНрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ (рдХреБрдХреАрдЬрд╝, рдХреИрд╢, рдкреНрд░рдорд╛рдг рдкрддреНрд░, рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛рдмреЗрд╕, рдЖрджрд┐) рд╣реИред рдПрдХ WebSession рд╡рд┐рднрд┐рдиреНрди WebViews рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддрд╛ рд╣реИред WebSession рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдЬреЛ рдЗрд╕ рд╕рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ) рдХреЛ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░реЙрдХреНрд╕реАред
рдЦреИрд░, рдЖрдЦрд┐рд░реА (рдЬреЛ рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдирд╛ рдерд╛) рд╢реНрд░реЛрддрд╛ рд╣реИрдВ - рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлреЗрд╕ред рдХрдИ рд╢реНрд░реЛрддрд╛ рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, WebViewListener :: Dialog рдореЗрдВ рдбрд╛рдпрд▓реЙрдЧ рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ WebViewListener :: рдбрд╛рдЙрдирд▓реЛрдб рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдкреНрд░рдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╣реИрдВред
рдЬрдиреНрдо
рд╕рд┐рджреНрдзрд╛рдВрдд рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЪрд▓рд┐рдП рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд┐рдВрдбреЛ рдореЛрдб рдореЗрдВ рдХрд░реНрдиреЗрд▓ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреИрдм рдмрдирд╛рдиреЗ рдФрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдХрд░реНрдиреЗрд▓ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
WebCore* core = 0; WebConfig config; core = WebCore::Initialize(config);
рдЕрдЧрд▓рд╛, рдПрдХ рд╕рддреНрд░ рдмрдирд╛рдПрдВ (рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рддреНрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ, рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ)
WebPreferences prefs; prefs.proxy_config = WSLit("198.1.99.26:3128"); WebSession * session = core->CreateWebSession(WSLit(""), prefs);
рдФрд░ рд╣рд╛рдВ, WebView рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред
WebView* view = core->CreateWebView(WIN_WIDTH, WIN_HEIGHT, session, kWebViewType_Window); view->set_parent_window(hwnd);
рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рд╣рдо рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
- рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреА рд╣реЛрдЧреАред рдЖрдк рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореВрд▓ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рддреЗ рд╕рдордп)
- рддреАрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рддреНрд░ рд╣реИред рдЯреИрдм рдХреЗ рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди рд╕рддреНрд░ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдкрд╣реБрдВрдЪ рдмрдиреА рд╣реБрдИ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ (рдореИрдВрдиреЗ рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреА) рдЖрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рдкреНрд░рднрд╛рд╡реА рд╣реЛрдВрдЧреЗ
- рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреИрдм рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдзрд┐ рдХрд╛ рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдореАрдЯрд░ WebViewType рд╣реИред рдпрд╣ рдпрд╛ рддреЛ kWebViewType_Offscreen (default) рдпрд╛ kWebViewType_Window рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рджреВрд╕рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдПрдХ рдУрдХреЗрдиреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдирд╛рддреЗ рд╣реИрдВ
- KWebViewType_Window рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ WebView рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдХрджрдо рдореВрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рд╣реИрдВрдбрд▓ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реИред рд╣реИрдВрдбрд▓ рдореЗрдВ рдЙрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдЬрд╝реЛрдорд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рдбреЗрд▓реНрдлреА рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рд╣реИрдВрдбрд▓ рдкреИрдирд▓ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдЬреАрд╡рди
рдЙрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП Awesomium рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ "рдЬреАрд╡рди" рдореЗрдВ рдХрд╛рдлреА рдЕрдВрддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рд╕рд┐рд░реНрдл рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ рдЬрдм рд╡рд┐рдВрдбреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреИрдм рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╡рд┐рдВрдбреЛреЗрдб рдПрдЬрд╝реЛрдорд┐рдпрдо рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкрдирд╛ рдЬреАрд╡рди рдЬреАрддрд╛ рд╣реИ, рдЗрд╕реЗ рдЕрднреА рднреА рд╕рдордп-рд╕рдордп рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреБрд╢
рдЕрдкрдбреЗрдЯ рдХрд░реНрдиреЗрд▓ рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдЯрд╛рдЗрдорд░ рдореЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
// Create our WebCore Update timer, renders at a max of 66 FPS UINT myTimer = SetTimer ( hwnd, 0, 15, NULL ); ... case WM_TIMER: { if (core) { core->Update(); } } ...
рдпрд╣ рднреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ WebView рдХреЗ рд╡рд┐рдирд╛рд╢ рдХреЗ рдмрд╛рдж рдХрд░реНрдиреЗрд▓ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рджреВрд╕рд░реЗ, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореВрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЖрдХрд╛рд░ рдмрджрд▓ рдЬрд╛рдП, рддреЛ рдЖрдкрдХреЛ рдореВрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ WM_SIZE рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдирдП рдЖрдпрд╛рдореЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреА рд╣реЛрдЧреАред рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
case WM_SIZE: { if (view) { int nWidth = LOWORD(lParam); // int nHeight = HIWORD(lParam); // view->Resize(nWidth, nHeight); } }
рдФрд░ рддреАрд╕рд░рд╛, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рддреНрдпреЗрдХ WebView рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд╡реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИрдВред рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдХреЗрдд
WebViewListener.h рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдареАрдХ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ:
DialogListener * dialog_lis = new DialogListener(); view->set_dialog_listener(dialog_lis);
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛, рд╡рд┐рдВрдбреЛ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЪрд┐рдВрддрд╛ рдХрд░реЗрдЧреА: рдкреЗрд░реЗрдВрдЯ рд╡рд┐рдВрдбреЛ рдкрд░ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреЗрдЬ рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдирд╛, рдХреАрдмреЛрд░реНрдб рдФрд░ рдорд╛рдЙрд╕ рдХреЗ рдХреАрд╕реНрдЯреНрд░реЛрдХ рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░рдирд╛, рдорд╛рдЙрд╕ рдХрд░реНрд╕рд░ рдХреЛ рдмрджрд▓рдирд╛, рдЖрджрд┐ред
рдЦреИрд░, рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рдкреЗрдЬ рдЦреЛрд▓рдиреЗ рдФрд░ рд▓реЛрдб рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
// view->LoadURL(WebURL(WSLit("http://google.com/"))); // while(view->IsLoading()) { Sleep(50); core->Update(); } // ( ) view->Focus();
рдореМрдд
рдХрд╛рдо рдХреЗ рдмрд╛рдж рд╕рдлрд╛рдИ рдХреЗ рд╕рд╛рде, рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рд╣реБрдИрдВред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдФрд░ Google рдореЗрдВ Windowed рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╢реВрдиреНрдп рд╕реЗ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рд╕реЗ, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдпрд╛:
1. WebView рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ - рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдореВрд▓ рд╡рд┐рдВрдбреЛ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛)ред
2. рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╕рддреНрд░ рдбреЗрдЯрд╛ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдП (рдпрджрд┐ рдпрд╣ рдПрдХ рдЬреНрдЮрд╛рдкрди рд╕рддреНрд░ рдирд╣реАрдВ рд╣реИ), рддреЛ рдЖрдкрдХреЛ рд╕рддреНрд░ рдЙрджрд╛рд╣рд░рдг рдкрд░
рд░рд┐рд▓реАрдЬрд╝ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
3. WebView рд╡рд┐рдзреНрд╡рдВрд╕ рд╡рд┐рдзрд┐ (рдФрд░ рдХреБрдЫ рдирд╣реАрдВ)
рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ
рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
4. рдХрд░реНрдиреЗрд▓ рдХреЛ
рд╢рдЯрдбрд╛рдЙрди рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╡реИрд╕реЗ рднреА рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдирд╖реНрдЯ рдХрд┐рдП рдЧрдП WebView рдХреЛ рд╕рд╛рдл рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╡реИрд╕реЗ рднреА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ)
рдореЛрдЯреЗ рддреМрд░ рдкрд░, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
// - ... // ( , , ) view->Stop(); // view->session()->Release(); // WebView ( Chromium ) view->Destroy(); // ( , ) core->Update(); // core->Shutdown();
рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдХрд░реНрдиреЗрд▓ рдХреЛ рдирд╖реНрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреИрдм рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╡реЗрдм рдЯреИрдм рдЬреЛ рдЗрд╕ рдЯреИрдм рдкрд░ рдерд╛ред
рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ
Awesomium рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╕рдордп, рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ, рдЬреЛ
\ Awesomium SDK \ 1.7.1.0 \ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ,
рдореЗрдВ \ Awesomium \ рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдирд┐рдореНрди рдЗрдВрдЯрд░рдиреЗрдЯ рдкреЗрдЬ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдореБрдЭреЗ рдмрд╣реБрдд рдорджрдж рдорд┐рд▓реА:
-
wiki.awesomium.com/general-use -
рдЖрд╡реЗрд╕реЛрдорд┐рдпрдо рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рд╕реЗ рдорд╛рдореВрд▓реА рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗред рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рднреА рд╡рд░реНрдгрди рд╣реИ
-
awesomium.com/docs/1_7_0/cpp_api/index.html#intro_sec - рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг (рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдирдХрд▓ рдХрд░рддрд╛ рд╣реИ)
-
gist.github.com/khrona - рдЧрд┐рдЯрд╣рдм рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦреНрд░реЛрдПрди рдХрд╛ рд╡рд┐рдХрд╛рд╕ред рдкрд╣рд▓рд╛ рдЯреЗрд╕реНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореЗрд░реА рдмрд╣реБрдд рдорджрдж рдХреА, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕
рдЙрджрд╛рд╣рд░рдг рдореЗрдВ GDI / WinForms / WinAPI рдХреЗ рд╕рд╛рде Awesomium r148 API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг ред рд╕рдЪ рд╣реИ, рд╡рд╣ рдЗрд╕реЗ рдСрдлрд╝рд╕реНрдХреНрд░реАрди рдореЛрдб рдореЗрдВ рдПрдХ рд╡рд┐рдВрдбреЛ рдореЛрдб рдХреА рддрд░рд╣ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдЗрд╕рдореЗрдВ рд╕реНрдХреИрди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░реЙрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдорд╛рдЙрд╕ рдХрд░реНрд╕рд░ рддрдм рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдЬрдм рдЖрдк рд▓рд┐рдВрдХ рдкрд░ рд╣реЙрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ), рд╕рд╛рде рд╣реА рд╕рд╛рде рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрддрд┐рд░реЗрдХ рднреАред
-
answer.awesomium.com/index.html - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдмред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рднреА рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрддреНрддрд░ рдирд╣реАрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд╣рд╛рдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣реИ