Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. //êíîïêè
  2. #define BACK        300
  3. #define FORWARD     301
  4. #define REFRESH     302
  5. #define HOME        303
  6. #define NEWTAB      304
  7. #define GOTOURL     305
  8. #define SEARCHWEB   306
  9. #define ID1         178
  10. #define ID2         177
  11.  
  12. #define _WIN  0
  13. #define _DOS  1
  14. #define _KOI  2
  15. #define _UTF  3
  16.                      
  17.  
  18. dword get_URL_part(int len) {
  19.         char temp1[sizeof(URL)];
  20.         strcpy(#temp1, #URL);
  21.         temp1[len] = 0x00;
  22.         return #temp1;
  23. }
  24.  
  25. inline byte chTag(dword text) {return strcmp(#tag,text);}
  26.  
  27.  
  28. void GetURLfromPageLinks(int id)
  29. {
  30.         int i, j = 0;
  31.         for (i = 0; i <= id - 401; i++)
  32.         {
  33.                 do
  34.                 {
  35.                         j++;
  36.                         if (j>=strlen(#page_links)) return; //íå ñàìîå óäà÷íîå ðåøåíèå
  37.                 }
  38.                 while (page_links[j] <>'|');
  39.         }
  40.         page_links[j] = 0x00;
  41.         strcpy(#URL, #page_links+strrchr(#page_links, '|'));
  42. }
  43.  
  44.  
  45. //Ó íàñ íåò íàêëîííûõ øðèôòîâ, ïîýòîìó äåëàåì êîñòûëü èç
  46. //ïàëî÷åê äëÿ ìîðîæåíîãî è æåâàòåëüíîé ðåçèíêè:
  47. //Ñíèìàåì îáëàñòü ýêðàíà è âûâîäèì å¸ îáðàòíî ïîëîñêàìè ñî ñìåùåíèåì,
  48. //÷òî äà¸ò ïåðåêîñ êàðòèíêè
  49. //Ïðè íàëè÷èè ôîíà è ò.ï. ïðîÿâèòñÿ âñÿ êîñòûëüíîñòü ðåøåíèÿ :)
  50.  
  51. inline void Skew(dword x,y,w,h)
  52. {
  53.         dword italic_buf;
  54.         int tile_height=2, //áóäåì âûâîäèòü äâóõïèêñåëüíûìè ïîëîñêàìè
  55.         shift=-2, //ñ äâóõïèêñåëüíûì ñìåùåíèåì
  56.         i, skin_height;
  57.  
  58.         italic_buf = mem_Alloc(w*h*3);
  59.         skin_height = GetSkinHeight();
  60.         CopyScreen(italic_buf, x+Form.left+2, y+Form.top+skin_height, w, h);
  61.  
  62.         FOR (i=0;i*tile_height<h;i++)
  63.                 PutImage(w*3*tile_height*i+italic_buf,w,tile_height,x+shift-i+1,i*tile_height+y);
  64.        
  65.         mem_Free(italic_buf);
  66. }
  67.