//---------------------------------------------------------------------------
#ifndef fprzeslH
#define fprzeslH
//---------------------------------------------------------------------------
#include <vcl\Classes.hpp>
#include <vcl\Controls.hpp>
#include <vcl\StdCtrls.hpp>
#include <vcl\Forms.hpp>
#include "Grids.hpp"
#include <vcl\ExtCtrls.hpp>

#define IL_PODZ 70          //dokładność analizy przeslony i ekranu
//---------------------------------------------------------------------------
class TPrzeslona : public TForm
{
__published:
    TDrawGrid *DrawGrid1;
    TPanel *Panel1;
    TButton *Button1;
    TButton *Button2;
    TLabel *Label1;
    TEdit *Edit1;
    TLabel *Label2;
    TEdit *Edit2;
    TLabel *Label3;
    TEdit *Edit3;
    TLabel *Label4;
    TEdit *Edit4;
    TButton *Button3;
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall Button2Click(TObject *Sender);
    void __fastcall DrawGrid1DrawCell(TObject *Sender, int Col, int Row,
    TRect &Rect, TGridDrawState State);
    void __fastcall DrawGrid1MouseDown(TObject *Sender, TMouseButton Button,
    TShiftState Shift, int X, int Y);
    void __fastcall DrawGrid1MouseUp(TObject *Sender, TMouseButton Button,
    TShiftState Shift, int X, int Y);
    void __fastcall FormKeyPress(TObject *Sender, char &Key);
       void __fastcall Button3Click(TObject *Sender);
    void __fastcall FormShow(TObject *Sender);
private:
    float P[IL_PODZ][IL_PODZ];  //przysłona
    double odl;             //odległość ekran - przysłona
    double rozm_p, rozm_e;  //rozmiary przysł. i ekr.
    int start_zaznacz_x, start_zaznacz_y;//do edycji otworków w przesłonie

    void inicjuj_parametry( void);
    void interferuj( void);
public:
    double L;               //długość fali światła
    __fastcall TPrzeslona(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern TPrzeslona *Przeslona;
//---------------------------------------------------------------------------
#endif
