About NVIACmadewithhm.gif
[Main] [Next]

NVIAC -New Visual by Igor Andronov Components.

Developed for inserting of new visual properties at visual components :
·Cascading Semitransparence - universal for any component type  
·External timing - common for all components  

For above mentioned aims the next interfaces were developed
·INVIAC_TIMER interface for timing  
·INVIAC_SEMITRANSPARENCE interface for supports of semitransparence  

Any component that supports these interfaces will automatically semitransparented.

What kind of semitransparence automatically supported?
·Flat Semitransparence  
·Regional Semitransparence  
·Bitmap based Semitransparence - with different semitransparence for each color channel, gradient semitransparence and so one as you could imagine  

All components semitransparented at cascade automatically - that means - changed bottom semitransparented image- it automatically
visible at above laying components
bit01.jpgbit02.jpg

Simple using at any combination with standart components (only one rule - standart components fully ignored at semitransparence queue) -
so components could be used together.

Semi functions wiritten at ASSEMBLER with MMX support.

Sizing/moving automatically traced with smooth updating.



Package includes
[Previous] [Main] [Next]

Now avalble next components :

1. Base component TNVIAC_BASIS
support semitransparence and form skinning - ought to used for library running but
automatically generated if you try use any outher component

2. Label TNVIAC_Label - multyline angleable label with semitransparence and 3d/shadow styling

3. Skinnable semitransparent button TNVIAC_Button with some forms and 3d styles for caption

4. Skinnable panel TNVIAC_Panel with some kinds of semitransparence and some forms / styles

5. Semitransparent multyline radiobutton TNVIAC_Radiobutton with number kinds / alining angles and so one

6. Semitransparent multyline check box TNVIAC_CheckBox with number kinds / alining angles and so one

7. Semitransparent Image TNVIAC_Image with masked semitransparency

8. Bonus animation component TNVIAC_AnimaImage semitransparent (for each cadr) masked animation at real time with some spetial
effects - do cascade semitransparence at real time :) - for each cadr semi could be selected separately - useful for any logos/animations



License
[Previous] [Main] [Next]

1. The basis units and next components :
TNVIAC_BASIS, TNVIAC_Label, TNVIAC_Button,TNVIAC_Panel, TNVIAC_Radiobutton, TNVIAC_CheckBox,TNVIAC_Image,TNVIAC_AnimaImage
are free for next aims:
1.1 Private uncommercial usung by home based user
1.2 Uncommercial using by scools, educational organizations
1.3 For learning of students
1.4 For trying at 30 days period of any other person/company

2. Any other aims is restricted and ought to permitted by author
(commercial cost for ful license for above components is $50)
first by mail : inandronov@mail.ru
for instructions.

3. Author is free to update above list any time without any info.
(that means changes,addition,removing)

4. This license is not included any outher collection of NVIAC components that celling at commercial base.



Installation
[Previous] [Main] [Next]

Supported Delphi 4 and 5

1. Open nviak.dpk file
2. Compile and install it
3. Save results
4. Installation complete
!!!Do not forget to add path to need directories at application!!!

Delphi 6 are not tested so for you own risk.



TNVIAC_Basis
[Previous] [Main] [Next]

ico01.jpg

TNVIAC basis - supports the basis interface and form skinning

bit03.jpg
Main Properties :

property FormBitmap : TBitmap
for skinning of form

property FormBitmapApply : TNVIAC_Bitmap_Apply

TNVIAC_Bitmap_Apply = (nviacbaTile,nviacbaCenter,nviacbaStretch,nviacbaCenterTile);
for type of skinning

property GridSizeDesign : byte;
size of design mode grid

property GridColor : Tcolor
color of design grid

property GridEnabled : Boolean
enable/disable grid at design time

Interfaces
INVIAC_TIMER = interface(IUnknown)
['{EFDDB480-59B3-11D5-9C33-F82D3A0AE9B4}']
procedure ReintroduceTimerBasis(ANewBasis : TNVIAC_BASIS);
procedure TryRegisterTimer;
procedure TryUnregisterTimer;
procedure TimerTick(ANumberTick : Integer);//send the tick
end;
INVIAC_SEMITRANSPARENCE = interface(IUnknown)//Any control that support this interface will semitransparent...
['{EFDDB481-59B3-11D5-9C33-F82D3A0AE9B4}']
procedure ReintroduceBasis(ANewBasis : TNVIAC_BASIS);//Get new basis if it changes
procedure TryRegisterSemiQueque;//Register in semi queue
procedure TryUnregisterSemiQueque;//Unregister
function GetFullBitmap: TBitmap;//This is full bitmap that we can look at form
function GetCurrentSize : TSize;//Size of control
function GetCurrentBitmap: TBitmap;//Bitmap to process semi
function GetCurrentOffset: TPoint;//position of control by form client rect
function GetCurrentRegion: HRGN;//Region of control trimming (where to paint - will painted only here on back)
function GetSemiClass : Byte;//1 - Alpha,2 - bitmap
function GetAlpha : Byte;//alpha
function GetAlphaBitmap : TBitmap;//alpha bitmap sizes=Current Bitmap
procedure ContinueBitmap;//Requiring to draw the bitmap after semi to full image
procedure TryPaint;//Requiring to redraw the control (Repaint - usually, some complex for Controls having others controls)
procedure SetCurrRect(ARect : TRect);//This is setting of rect where and only where you can draw Current/Continue bitmap
function GetSemiControl: TControl;//Must Return someself t.i. -> Result:=Self;
function IsVisible: Boolean;//MustReturn Visibility of item -> Result:=Self.Visible;
end;




TNVIAC_Label
[Previous] [Main] [Next]

ico02.jpg
TNVIAC_Label- the multiline label with semitransparence and 3d/shadow styling and semitransparence styling
bit04.jpg

Main Properties :

property CaptionLines : TStringList
list of caption

property CaptionAlign : TNVIAC_H_Align;
TNVIAC_H_Align = (nviachLeft,nviachRight ,nviachCenter);
alining of caption

property CaptionAngle : integer read FCaptionAngle write SetCaptionAngle default 0;
angle of caption

property Caption3DStyle : TNVIAC_3DStyle
TNVIAC_3DStyle = (nviac3dsSimple,nviac3dsRised,nviac3dsPressed);
3d style of caption

property SemiTransparence : Byte
semitransparence 0..255

property CaptionShadowColor : TColor
color of shadow

property CaptionShadow : Boolean
is shadow enabled or not

property LabelStyle : TNVIAC_Label_Style
TNVIAC_Label_Style =(nviaclsSimple,nviaclsTransparent,nviaclsDissolve);
Semitransparent style (nviaclsDissolve - means label dissoved at outer space)





TNVIAC_Button
[Previous] [Main] [Next]

ico03.jpg
TNVIAC_Button is semitransparent skinned button of different shapes

bit05.jpg
Main Properties :

property SemiTransparence : Byte
semitransparence 0..255

property ButtonForm : TNVIAC_Button_Form
TNVIAC_Button_Form =(nviacbfRect,nviacbfElliptic,nviacbfEllipDiag,nviacbfEllipRevDiag,nviacbfOctaRect);
shape of button

property SkinImageList : TImageList
This is the skin image list that must contain 4 images for UP,Down,Selected,Disabled
state of button

property SkinApply : TNVIAC_Bitmap_Apply;
TNVIAC_Bitmap_Apply = (nviacbaTile,nviacbaCenter,nviacbaStretch,nviacbaCenterTile);
how to apply the skin



TNVIAC_Panel
[Previous] [Main] [Next]

ico04.jpg
TNVIAC_Panel - is skinable semitransparent multi form - multi semitransparent effects having panel
bit06.jpg

Main properties :

property SemiTransparence
semitransparence 0..255

property SemiTransparence2
second semitransparence for semi effects

property SemiStyle : TNVIAC_Panel_SemiStyle
TNVIAC_Panel_SemiStyle =(nviacpssSimple,nviacpssHorGradient,nviacpssVertGradient,
nviacpssHorStripe,nviacpssVertStripe,nviacpssCenter,nviacpssBitmap);
semitransparent style

property SemiBitmap: TBitmap
semitransparence is defined by user bitmap :)

property FormStyle : TNVIAC_Panel_FormStyle
TNVIAC_Panel_FormStyle =(nviacpfsRect,nviacpfsHorShifted,nviacpfsInvHorShifted,
nviacpfsVertShifted,nviacpfsInvVertShifted,nviacpfsElliptic);
shape of panel

property FormShiftPercent : Byte
power of shape shifting 0..100

property SkinBitmap : TBitmap
as written - skin bitmap

property SkinApply : TNVIAC_Bitmap_Apply
TNVIAC_Bitmap_Apply = (nviacbaTile,nviacbaCenter,nviacbaStretch,nviacbaCenterTile);
applying of skin

property BorderOutWidth : Byte read FBorderOutWidth write SetBorderOutWidth default 2;
property BorderInnerWidth : Byte read FBorderInnerWidth write SetBorderInnerWidth default 1;
property BorderGapWidth : Byte read FBorderGapWidth write SetBorderGapWidth default 2;
property BorderIsUp : Boolean read FBorderIsUp write SetBorderIsUp default True;
- this is all for border styling....



TNVIAC_RadioButton
[Previous] [Main] [Next]

ico05.jpg
TNVIAC_RadioButton - is multiline semitransparent radiobutton with many options
bit07.jpg

Main properties :

property GroupIndex : Integer
index of group that contain this radiobutton - so no need at panels for grouping of radiobutton

property SemiTransparence : Byte
semitransparence of component 0..255

property CaptionLines : TStringList
caption lines

property CaptionAlign : TNVIAC_H_Align
TNVIAC_H_Align = (nviachLeft,nviachRight ,nviachCenter);
align of caption lines

property CaptionAngle : integer
angle of caption

property Checked : Boolean
is checked or not

property Caption3DStyle : TNVIAC_3DStyle
TNVIAC_3DStyle = (nviac3dsSimple,nviac3dsRised,nviac3dsPressed);
3d style of caption

property CheckImageList : TImageList
image list for user defined radio button- must contain 4 images for
no checked,checked,no checked disabled,checked disabled - conditions

property CheckColor1 : TColor
first color to draw the radiobutton

property CheckColor2 : TColor read FCheckColor2 write SetCheckColor2 default clBlack;
second color to draw the radiobutton

property CheckStyle : TNVIAC_CheckBox_Style
TNVIAC_CheckBox_Style = (nviaccsBase,nviaccsStyle1,nviaccsStyle2,nviaccsImageList);
style of component

property CheckFieldHAlign : TNVIAC_H_Align
TNVIAC_H_Align = (nviachLeft,nviachRight ,nviachCenter);
horizontal align of text field aganist check field


property CheckFieldVAlign : TNVIAC_V_Align
TNVIAC_V_Align = (nviacvTop ,nviacvBottom,nviacvCenter);
vertical align of text field aganist check field

property AlignHorFirst : Boolean
what type of alining applyed first - that could influate to end result of aligning

property CheckFieldToTextGap : Byte
gap beetwen fields text and check

property Transparent : Boolean
do or not transparent field outer to text and check



TNVIAC_CheckBox
[Previous] [Main] [Next]

ico06.jpg
TNVIAC_Checkbox- is multiline semitransparent checkbox with many options
bit08.jpg

Main properties :

property SemiTransparence : Byte
semitransparence of component 0..255

property CaptionLines : TStringList
caption lines

property CaptionAlign : TNVIAC_H_Align
TNVIAC_H_Align = (nviachLeft,nviachRight ,nviachCenter);
align of caption lines

property CaptionAngle : integer
angle of caption

property Checked : Boolean
is checked or not

property Caption3DStyle : TNVIAC_3DStyle
TNVIAC_3DStyle = (nviac3dsSimple,nviac3dsRised,nviac3dsPressed);
3d style of caption

property CheckImageList : TImageList
image list for user defined checkbox button- must contain 4 images for
no checked,checked,no checked disabled,checked disabled - conditions

property CheckColor1 : TColor
first color to draw the checkbox

property CheckColor2 : TColor read FCheckColor2 write SetCheckColor2 default clBlack;
second color to draw the checkbox

property CheckStyle : TNVIAC_CheckBox_Style
TNVIAC_CheckBox_Style = (nviaccsBase,nviaccsStyle1,nviaccsStyle2,nviaccsImageList);
style of component

property CheckFieldHAlign : TNVIAC_H_Align
TNVIAC_H_Align = (nviachLeft,nviachRight ,nviachCenter);
horizontal align of text field aganist check field


property CheckFieldVAlign : TNVIAC_V_Align
TNVIAC_V_Align = (nviacvTop ,nviacvBottom,nviacvCenter);
vertical align of text field aganist check field

property AlignHorFirst : Boolean
what type of alining applyed first - that could influate to end result of aligning

property CheckFieldToTextGap : Byte
gap beetwen fields text and check

property Transparent : Boolean
do or not transparent field outer to text and check




TNVIAC_Image
[Previous] [Main] [Next]

ico07.jpg
TNVIAC_Image - semitransparent masked image
bit09.jpg

Main properties:

property SemiTransparence : Byte;
semitransparence of main field 0..255

property Transparent : Boolean
mask field of left top color by semitransparence of TranspRegPower power

property TranspRegPower : Byte
power of semitransparence masking



TNVIAC_AnimaImage
[Previous] [Main]

ico08.jpg
TNVIAC_AnimaImage - the component combine power of real time semitransparent masking and animation coscequencies
- too useful for logo's (appearing and dissapearing with dissolve)

bit10.jpg
the face at right top and figue above center image - is real time animation with semitransparence masking

Main properties:
property SemiTransparence : Byte
semitransparence of main field if not
AnimaSemiList selected

property SemiMaskTransparence : Byte
semitransparence of masked field if not
AnimaSemiList selected

property SemiType : TNVIAC_AnimaImage_SemiStyle
TNVIAC_AnimaImage_SemiStyle =(nviacaissSimple,nviacaissMasked);
masked or not semitransparence animation

property MaskColor : TColor
masked color

property AnimaImageList : TImageList
image list thet contain animation consequence

property AnimaSemiList : TStringList
The consequence of semitransparensies for amimation
!!Important
Ought to contain list of byte values through ONE space as
...
0 255
64 196
128 128
196 0
255 128
...
First value - the semitransparence of main current cadr
Second Value - the semitransparence of masked field

- TWO values must be written at any case if you want to use different semi for each cadr
BUT no need that number of cadres at animation consequence is equal to lines number - it aligned automatically (by cycle)

-so image could appear or dissapear..



property FramesTimeInterval : integer
frames intervat at 0,1 seconds(near it )

property AnimationStyle : TNVIAC_AnimaImage_AnimaStyle
TNVIAC_AnimaImage_AnimaStyle = (nviacaiasSimple,nviacaiasMixing);
the style of frames appearing
nviacaiasMixing - means the frames mixed one through another (useful for animation)

property AnimationEnabled boolean
is animation enabled

property RepeatNumber : Integer
number of repeating
-1 - means - no stopping
after need number you could to begin animation by set AnimationEnabled to TRUE(it stay false after animation storring)