Уголок маньяка

Syntax highlight

//  _______  _______  _______  _______  _______  _       _________
// (  ____ \(  ___  )(       )(       )(  ____ \( (    /|\__   __/
// | (    \/| (   ) || () () || () () || (    \/|  \  ( |   ) (  
// | |      | |   | || || || || || || || (__    |   \ | |   | |  
// | |      | |   | || |(_)| || |(_)| ||  __)   | (\ \) |   | |  
// | |      | |   | || |   | || |   | || (      | | \   |   | |  
// | (____/\| (___) || )   ( || )   ( || (____/\| )  \  |   | |  
// (_______/(_______)|/     \||/     \|(_______/|/    )_)   )_(  

library FLDance_AIMP;

uses
  Windows, Messages, SysUtils, Classes, Graphics,
  aimp_sdk, pngimage;

  {$R rsrc.res}
  {$I egg.inc}

const TimerID = $BABA;

type
  pRGBQuadArray = ^TRGBQuadArray;
  TRGBQuadArray = array[WORD] of TRGBQuad;

  TFLChan = class(TInterfacedObject, IAIMP2VisualPlugin)
  private
    Screen:TBitmap;
  public
    function AuthorName: PWideChar; stdcall;
    function PluginName: PWideChar; stdcall;
    function PluginInfo: PWideChar; stdcall;
    function PluginFlags: DWORD; stdcall;
    function Initialize: BOOL; stdcall;
    procedure Deinitialize; stdcall;
    procedure DisplayClick(X, Y: Integer); stdcall;
    procedure DisplayRender(DC: HDC; AData: PVisualData); stdcall;
    procedure DisplayResize(AWidth, AHeight: Integer); stdcall;
  end;

var
   TopLeft, BmpTopLeft: TPoint;
   BmpSize: TSize;
   FWorkBMP: TBitmap;
   FWorkPNG: TPNGObject;
   FWorkPNG_big: TPNGObject;
   Blend: TBlendFunction;

   CellRect: array[1..8,1..10] of TRect;
   TimerInterval: integer = 10;

//===================================================================

function WindowProc(wnd: HWND; msg: integer; wparam: WPARAM; lparam: LPARAM):LRESULT;STDCALL;
begin
  case msg of
    WM_CREATE:     SetTimer(Wnd,TimerID,TimerInterval,nil);
    WM_SHOWWINDOW: AnimateWindow(wnd,450,AW_VER_NEGATIVE);
    WM_COMMAND:    Case wparam of
                      999: Begin
                             MessageBox(wnd,'Info will be here','About',mb_ok+mb_iconinformation);
                           End;
                    end; {case}
    WM_CLOSE:       begin
                      messagebeep(0);
                    end;
    WM_DESTROY:     begin
                      AnimateWindow(wnd,450,AW_VER_NEGATIVE + AW_HIDE);
                      // PostQuitMessage(0);
                      DestroyWindow(wnd);
                      Result:=0;
                      Exit;
                    end;
// ...
Хе-хе, delphi есть, для остальных лень цвета настраивать. В фуррифоксе шрифт мелкий получается. Блин

Комментарии

Отправить комментарий

  • Доступны HTML теги: <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании