PhotoFiltre

Le forum officiel de PhotoFiltre
It is currently 18 Jun 2019 3:50

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 35 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: Developpement plugin C++
PostPosted: 10 Jul 2005 14:05 
Offline
Nouveau
Nouveau(elle)|Nouveau|Nouvelle

Joined: 10 Jul 2005 14:00
Posts: 1
Gender: Male
PhotoFiltre version: dernière
Operating System: xp sp2
Processor: athlon 2000+
RAM memory: 512
Bonjour à tous

J'ai un petit souci. Je voudrai bien developper un plugin pour photofiltre (enfin essayer) mais je ne connais que visual C++6 et quand j'essaie de compiler les exemples du SDK, ça ne fonctionne pas. Il y a certainement des modifications à faire dans les fichiers ou des librairies à inclure ou autre chose... Quelqu'un pourrait -il me venir en aide? :D
Merci beaucoup


Top
 Profile  
 
 Post subject:
PostPosted: 16 Jul 2005 13:47 
Offline
Administrateur(trice)
Administrateur(trice)|Administrateur|Administratrice

Joined: 28 Oct 2003 23:49
Posts: 11158
Gender: None specified
Personne n'a réalisé de plugin en Visual C++ ? :cry:


Top
 Profile  
 
 Post subject:
PostPosted: 17 Jul 2005 14:10 
Offline
Développeur
Développeur(se)|Développeur|Développeuse
User avatar

Joined: 28 Apr 2004 8:45
Posts: 985
Location: 78
Gender: Male
PhotoFiltre version: 6
Operating System: xp seven
Je vais voir ce que je peux faire.......
Mais VC++............ Pffffffff............. :roll:
Cela dit, il est trés utilisé, faut y passer !!! :lol:
Quand faut y aller, faut y aller !! :wink:
A+


Top
 Profile  
 
 Post subject:
PostPosted: 21 Jul 2005 10:45 
Offline
Habitué(e)
Habitué(e)|Habitué|Habituée

Joined: 02 Jan 2005 18:03
Posts: 82
Location: Aartselaar,Vlaanderen
Gender: None specified
PhotoFiltre version: 6.2.7
Operating System: XP
RAM memory: 1024
Antonio wrote:
Personne n'a réalisé de plugin en Visual C++ ? :cry:


WB-plugin et écrit avec Borland C++.

Alain


Top
 Profile  
 
 Post subject:
PostPosted: 10 Feb 2007 19:50 
Offline
Habitué
Habitué(e)|Habitué|Habituée

Joined: 24 Jan 2007 19:53
Posts: 51
Gender: Male
PhotoFiltre version: Photofiltre studio
Operating System: windows XP & Kubuntu 7.04
Processor: Pentium D 2,8 GHz
RAM memory: 1024 MO
Bonjour à tous,
Je profite de ce post pour vous demander si vous pourriez me réaliser un exemple de plugin en C++ avec Dev Cpp, rien que colorpicker s'il vous plaît :cry: ...
En effet je n'utilise que cet EDI et ce langage :oops:


Top
 Profile  
 
 Post subject:
PostPosted: 11 Feb 2007 0:42 
Offline
Développeur
Développeur(se)|Développeur|Développeuse
User avatar

Joined: 28 Apr 2004 8:45
Posts: 985
Location: 78
Gender: Male
PhotoFiltre version: 6
Operating System: xp seven
Salut Khazna,
Tu as deux exemples en C dans le sdk PhotoFiltre et un en Visual Cpp 6 ici :http://www.photofiltre-studio.com/forum/viewtopic.php?t=2889
Si tu connais bien le language et ton compilo, tu devrais pouvoir (sans trop de difficultés) adapter les entetes et les sources. :wink:
A+


Top
 Profile  
 
 Post subject:
PostPosted: 11 Feb 2007 8:51 
Offline
Habitué
Habitué(e)|Habitué|Habituée

Joined: 24 Jan 2007 19:53
Posts: 51
Gender: Male
PhotoFiltre version: Photofiltre studio
Operating System: windows XP & Kubuntu 7.04
Processor: Pentium D 2,8 GHz
RAM memory: 1024 MO
Oui je devrais pouvoir me débrouiller :D

Encore merci!


Top
 Profile  
 
 Post subject:
PostPosted: 11 Feb 2007 10:08 
Offline
Administrateur
Administrateur(trice)|Administrateur|Administratrice
User avatar

Joined: 28 Oct 2003 14:39
Posts: 2342
Location: 63
Gender: Male
PhotoFiltre version: 6.2.7/9.0.0
Operating System: Windows XP Pro SP2
Processor: Intel Pentium IV 3.2 Ghz HT
RAM memory: 1536 Mo DDR
Je dois avouer, j'avais déjà essayé avec Dev-Cpp et c'était très vite devenu compliqué :P. Le compilateur trouvait quelque chose à redire à chaque ligne ou presque.

_________________
Heis Spiter

ImageImageImageImage
Pas de support par MP, mail, MSN, etc.

Beaucoup moins présent...


Top
 Profile  
 
 Post subject:
PostPosted: 11 Feb 2007 10:11 
Offline
Habitué
Habitué(e)|Habitué|Habituée

Joined: 24 Jan 2007 19:53
Posts: 51
Gender: Male
PhotoFiltre version: Photofiltre studio
Operating System: windows XP & Kubuntu 7.04
Processor: Pentium D 2,8 GHz
RAM memory: 1024 MO
Oui c'est bien vrai, question facilité d'utilisation Dev-Cpp n'est pas le meilleur des EDI :lol:


Top
 Profile  
 
 Post subject:
PostPosted: 11 Feb 2007 10:38 
Offline
Habitué
Habitué(e)|Habitué|Habituée

Joined: 24 Jan 2007 19:53
Posts: 51
Gender: Male
PhotoFiltre version: Photofiltre studio
Operating System: windows XP & Kubuntu 7.04
Processor: Pentium D 2,8 GHz
RAM memory: 1024 MO
Raaahhhh je n'y arrive pas!! :cry:
Est-ce que quelqu'un aurait l'aimabilité de faire un petit exemple de plugin avec Dev-Cpp (Colorpicker?) en C?


Top
 Profile  
 
 Post subject:
PostPosted: 11 Feb 2007 11:06 
Offline
Administrateur(trice)
Administrateur(trice)|Administrateur|Administratrice

Joined: 28 Oct 2003 23:49
Posts: 11158
Gender: None specified
Je ne pense pas qu'il y ait beaucoup de développeurs sur ce forum, donc ça risque d'être difficil, peut être en posant la question directement sur un forum de dev...?


Top
 Profile  
 
 Post subject:
PostPosted: 11 Feb 2007 11:57 
Offline
Habitué
Habitué(e)|Habitué|Habituée

Joined: 24 Jan 2007 19:53
Posts: 51
Gender: Male
PhotoFiltre version: Photofiltre studio
Operating System: windows XP & Kubuntu 7.04
Processor: Pentium D 2,8 GHz
RAM memory: 1024 MO
Je vais peut être posé cette question sur http://www.developpez.com... :(


Top
 Profile  
 
 Post subject:
PostPosted: 11 Feb 2007 14:27 
Offline
Développeur
Développeur(se)|Développeur|Développeuse
User avatar

Joined: 28 Apr 2004 8:45
Posts: 985
Location: 78
Gender: Male
PhotoFiltre version: 6
Operating System: xp seven
Khazna wrote:
Raaahhhh je n'y arrive pas!! ......

La plupart du temps, les problemes viennent des entetes (*.h)
Il m'a falu un bon momment pour migrer l'exemple de BC++5 a VC++6 et de la patience :wink:
Tu as quoi comme principale erreurs :?:


Top
 Profile  
 
 Post subject:
PostPosted: 11 Feb 2007 16:17 
Offline
Habitué
Habitué(e)|Habitué|Habituée

Joined: 24 Jan 2007 19:53
Posts: 51
Gender: Male
PhotoFiltre version: Photofiltre studio
Operating System: windows XP & Kubuntu 7.04
Processor: Pentium D 2,8 GHz
RAM memory: 1024 MO
Déjà j'ai modifié l'entête pour que ça colle avec Dev-Cpp (je ne sais pas si c'est bon d'ailleurs :roll: ).
Ensuite j'ai modifié les inclusions headers car il y avait un petit problème.
Mais après quand je compile (tout devrait être) patatra ...ça compile mal:

Le debugger me met que : syntax error before "RegisterPluginHeader"
[warning]data definition has no type or storage class
pour le fichier Democ.h
et encore plein de jolies erreurs pour me démoraliser un peu plus :roll:

je poste les sources de la DLL:
Democ.c
Code:
//============================================================================
// MODELE DE PLUGIN POUR PHOTOFILTRE ECRIT AVEC BORLAND C++ 5.02 MODIFIE POUR DEVCPP
// ENTETE MODIFIE
//#ifndef _DLL_H_
#define _DLL_H_

#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */

// ENTETE POUR BC5 => A REVOIR POUR AUTRE COMPILATEUR

// IMPORTANT =>    Calling Convention = StdCall
//                Type de projet Dll 32 Bits standard (Platform:Win32 Target:GUI)
//                  Link = "Static Mode" sinon le compilateur ne linkera pas le runtime C
//============================================================================


// INCLUSION HEADERS
#include <windows.h>
#include <windowsx.h>
#include "Ressources.h"
#include "Democ.h"


// PROTOTYPES
BOOL WINAPI DllEntryPoint(HINSTANCE hinstDll,DWORD dwReason,LPVOID plvReserved);
extern struct PluginHeader* DLLEXPORT RegisterPluginHeader(void);
extern struct PluginStruct* DLLEXPORT RegisterPluginStruct(void);
extern int DLLEXPORT RegisterCompatibility(void);
extern int DLLEXPORT Execute(void);
extern HBITMAP DLLEXPORT RegisterPluginGlyph(void);
BOOL DialogProc(HWND hWin,UINT uMsg,WPARAM wParam,LPARAM lParam);
void Affiche(void);

//  VARIABLES GLOBALES
HINSTANCE hInstance;
struct PluginHeader   PHeader;
struct PluginStruct   PStruct;
struct SIMAGE Img;

// SPECIFIQUE PLUGIN
HWND   hDlg;     // Handle DialogBox
INT      Couche;    // Masque de couche
INT      RetValue; // Retour de la boucle de message
INT      IsInit;      // Autorise/interdit l'affichage
HWND   HROUGE;      // Handle ChekBox Rouge
HWND   HVERT;      // Handle ChekBox Vert
HWND   HBLEU;      // Handle ChekBox Bleu


// DESCRIPTEURS PLUGIN
char HeaderCaption[] = {"Demo Filtre (C)"};
char HeaderVersion[] = {"Version 1.0"};
char HeaderAuthor[] =  {"P@F"};
char HeaderCommentaire[] = {"Conserve ou efface les couches R-V-B.\xA\xD"
                                          "Plugin de test écrit en C.\xA\xD"
                            "Nécessite PhotoFiltre 5.6 minimum."};
int HeaderPluginType = PT_FILTER;
int HeaderPluginFlag = MF_RGB_COLORS + MF_NEED_IMAGE;

//=========================================================================
// POINT D'ENTREE DU PLUGIN
//=========================================================================
#pragma argsused  // Pour eviter le warning: Parameter '' is never used
BOOL WINAPI DllEntryPoint(HINSTANCE hinstDll,DWORD dwReason,LPVOID plvReserved)
{
if (dwReason == DLL_PROCESS_ATTACH) // Raison d'appel
   {
  hInstance = hinstDll;    // Recupere l'instance dll du plugin
  // Les structures a zero
   ZeroMemory(&PStruct,sizeof(struct PluginStruct));   // Les structures a zero
  ZeroMemory(&PHeader,sizeof(struct PluginHeader));
  ZeroMemory(&Img,sizeof(struct SIMAGE));
  // Intialisation de la structure d'entete du plugin
   strcpy(PHeader.Caption,HeaderCaption);
   strcpy(PHeader.Version,HeaderVersion);
   strcpy(PHeader.Author,HeaderAuthor);
   strcpy(PHeader.Commentaire,HeaderCommentaire);
   PHeader.PluginType=HeaderPluginType;
   PHeader.Flags=HeaderPluginFlag;
   return(1);   // C'est tout bon !
  }
else
   return(0);   // Les autres raisons d'appel => Niet !
}

//=========================================================================
// FONCTION D'EXECUTION DU PLUGIN
//=========================================================================
extern int DLLEXPORT Execute(void)
{
//==== TEST DE LA VERSION PHOTOFILTRE ET DE LA COMPATIBILITE
// Si RegisterCompatibility retourne 1 ou la version ne gere pas
// la compatibilité niveau 2 => les fonctions niveau 2 sont initialisées a zéro
if (PStruct.TPrepareDialogue == 0)
   {
   MessageBox(NULL,
      "Ce plugin est incompatible avec cette version de PhotoFiltre.\xD\xA"
    "Il Nécessite la version 5.6 minimum.\xD\xA"
    "Vous pouver la télécharger sur le site officiel:\xD\xA"
    "http://www.photofiltre.com/","Ancienne version de PhotoFiltre",
    MB_OK | MB_ICONINFORMATION);
   return(0); // Une petite MsgBox pour etre poli !
   };

//==== DEBUT DU FILTRE (Pour le curseur "sablier" => mettre 1 au lieu de dFALSE
(*PStruct.TBeginFilter)(HeaderCaption,dFALSE); // Signaler le debut a PhotoFiltre
// Lancer Visuel avec hParent = NUL => on laisse PhotoFiltre gerer le mode Modal
DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN),NULL,DialogProc); // Lancer Visuel

//==== FIN DU FILTRE
(*PStruct.TEndFilter)(); // Signaler la fin a PhotoFiltre

//==== LIBERE L'IMAGE
if ( Img.piBitmap != NULL) // Un petit test pour eviter toute mauvaise surprise
   (*PStruct.TFreeDBmp)(&Img);

return(RetValue); // Valeur retournée par le Visuel (1=Modif, 0=NoModif)
}

//=========================================================================
// DialogProc  => Visuel
// Boucle de message de la boite de dialogue
//=========================================================================
#pragma argsused  // Pour eviter le warning: Parameter '' is never used
BOOL CALLBACK DialogProc(HWND hWin,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
   {
   case WM_INITDIALOG:
      //== Init VARIABLES ============================
      hDlg = hWin;                  // Handle de la boite de dialogues
      IsInit = 0;                   // Interdire l'affichage pour le momment
      Couche = 0;             // Masque de couche
      RetValue = 0;                  // Image non modifiée
      Img.piBitmap = NULL;      // Pour etre sur de l'allocation future...

      //== Init DIALOGBOX ============================
      SendMessage(hWin,WM_SETICON,ICON_BIG,(LPARAM)LoadIcon(hInstance,(LPSTR)500));

      //== Init CHECKBOX ============================
      HROUGE = GetDlgItem(hWin,IDC_ROUGE);    // Rouge
      HVERT = GetDlgItem(hWin,IDC_VERT);       // Vert
      HBLEU = GetDlgItem(hWin,IDC_BLEU);       // Bleu
      SendMessage(HROUGE,BM_SETCHECK,BST_CHECKED,0);
      SendMessage(HVERT,BM_SETCHECK,BST_CHECKED,0);
      SendMessage(HBLEU,BM_SETCHECK,BST_CHECKED,0);

      //== Demande Dialogue Modal a PhotoFiltre ============================
      (*PStruct.TPrepareDialogue)(hDlg,DM_MODAL,dFALSE,dFALSE);

      //== Creation de l'image a la bonne taille ============================
      // Les Rectangles Delphi sont relatifs a l'origine
    // Si il n'y a pas de selection, le rectangle decrit l'image entiere
    Img.piWidth = PStruct.SelRect.right - PStruct.SelRect.left;
    Img.piHeight = PStruct.SelRect.bottom - PStruct.SelRect.top;

      (*PStruct.TCreateDBmp)(&Img);
      if ( Img.piBitmap == NULL)
         {(*PStruct.TEndFilter)();return(0);}

      IsInit=1;       // Permetre l'affichage
      return(TRUE);
//== Fin de WM_INITDIALOG ============================

   //== WM_COMMAND ======================
   case WM_COMMAND:
      switch(wParam)
      //switch(LOWORD(wParam))
         {
         //== BOUTON ANNULER ======================
         case IDC_CANCEL:
            EndDialog(hWin,FALSE);break;

         //== BOUTON OK ======================
         case  IDC_OK:
            RetValue=1;
        EndDialog(hWin,TRUE);break;

         //== CHECKBOX Rouge ======================
         case IDC_ROUGE:
            if (SendMessage(HROUGE,BM_GETCHECK,0,0) == BST_UNCHECKED)
               Couche |= 1 ;
            else
               Couche &= 0xFFFFFFFE;
         Affiche();
         break;

         //== CHECKBOX Vert ======================
         case IDC_VERT:
            if (SendMessage(HVERT,BM_GETCHECK,0,0) == BST_UNCHECKED)
         Couche |= 2;
            else
               Couche &= 0xFFFFFFFD;
            Affiche();
         break;

        //== CHECKBOX Bleu ======================
         case IDC_BLEU:
            if (SendMessage(HBLEU,BM_GETCHECK,0,0) == BST_UNCHECKED)
         Couche |= 4;
            else
            Couche &= 0xFFFFFFFB;
            Affiche();
         break;

        //== DEFAULT COMMAND PROCESS MESSAGE ======================
      default:
         return(FALSE); // On traite pas le message

      //== FIN DE WM_COMMAND ======================
    } break; //==================================

  //== WM_CLOSE ======================
  case WM_CLOSE:
      EndDialog(hWin,TRUE);

  //== DEFAUT GLOBAL PROCESS MESSAGE ======================
  default:
     return(FALSE); // On traite pas le message

//*******************************************************************
   }//== FIN DE LA BOUCLE DE MESSAGE ======================
return(TRUE); // On envois au traitement les autres messages
}


//=========================================================================
// FONCTION D'AFFICHAGE (Pour info)
//=========================================================================
void Affiche(void)
{
UINT CptX,CptY,Tx;
UCHAR *Ptr;

if (!IsInit)
   return;

//==== RESTAURATION DE L'IMAGE ET RECUPERATION DANS LE BUFFER D'IMAGE
TRestoreUndoBitmap(&PStruct);
(*PStruct.TGetSelBitmap)(Img.piBitmap);

//==== MODIFICATION DU BUFFER D'IMAGE
(*PStruct.TGetScanLineDBmp)(&Img,0);
Ptr = Img.piBuffer;
Tx = Img.piWidth * 3 ;
for (CptY=0; CptY < Img.piHeight ; CptY ++)
   {
   for (CptX=0; CptX < Tx ; CptX +=3)
      {
    if ((Couche & 4))
       Ptr[CptX]=0;   // Bleu
    if ((Couche & 2))
       Ptr[CptX+1]=0;   // Vert
    if ((Couche & 1))
       Ptr[CptX+2]=0;   // Rouge
    };
   Ptr -= (Img.piScanlineSize);
   };

//==== ACTUALISATION DE L'IMAGE
(*PStruct.TSetSelBitmap)(Img.piBitmap,SF_AUTO);
}

//=========================================================================
// FONCTIONS EXPORTEES
//=========================================================================
extern struct PluginHeader* DLLEXPORT RegisterPluginHeader(void)
{return(&PHeader);}
//-------------------------------------------------------------------------
extern struct PluginStruct* DLLEXPORT RegisterPluginStruct(void)
{return(&PStruct);}
//-------------------------------------------------------------------------
extern int DLLEXPORT RegisterCompatibility(void)
{return(NON_DELPHI);}
//-------------------------------------------------------------------------
extern HBITMAP DLLEXPORT RegisterPluginGlyph(void)
{return(LoadBitmap(hInstance,(LPTSTR)600));}
// OU => {return(LoadBitmap(hInstance,MAKEINTRESOURCE(600)));}

#endif





Democ.h(rien modifié)
Code:
#ifndef _DLL_H_
#define _DLL_H_

#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
//;********************************************************************
//; CONSTANTES PhotoFiltre
//;********************************************************************
#define   RGBColorCount = 256 * 256 * 256 ; 16 millions de couleurs
#define   MaxLongStr 256
#define   MaxShortStr 64

   // Compatibilité Delphi/Non Delphi
#define   DELPHI  1
#define   NON_DELPHI 2

  // type du plugin
#define   PT_FILTER 0
#define   PT_IMAGE 1
#define   PT_FILE_IMPORT 2
#define   PT_FILE_EXPORT 3
#define   PT_TOOL 4

// mode de dialogue
#define   DM_MODAL 0
#define   DM_PREVIEW 1
#define   DM_COLOR_PICKER 2

// flags de sélection
#define   SF_AUTO 0
#define   SF_NONE 1

// flags pour la création d'image
#define   IF_CREATE 0
#define   IF_FILE 1

// flags pour l'activation du menu
#define   MF_RGB_COLORS 0x00000001
#define   MF_INDEXED_COLORS 0x00000002
#define   MF_TRANSPARENT 0x00000004
#define   MF_NOT_TRANSPARENT 0x00000008
#define   MF_SELECTED 0x00000010
#define   MF_NOT_SELECTED 0x00000020
#define   MF_NEED_IMAGE 0x00000040
#define   MF_NEED_MORE_THAN_ONE_IMAGE 0x00000080

// test sur l'extension du fichier en cours
#define   MF_IMAGE_JPEG 0x00010000
#define   MF_IMAGE_GIF 0x00020000
#define   MF_IMAGE_PNG 0x00040000
#define   MF_IMAGE_BMP 0x00080000
#define   MF_IMAGE_TIFF 0x00100000
#define   MF_IMAGE_PFS 0x00200000

// === CONSTANTES FALSE/TRUE POUR DELPHI
#define   dFALSE 0
#define   NIL NULL

//;********************************************************************
//; DESCRIPTION DE LA STRUCTURE D'IMAGE
//;********************************************************************
typedef       UINT    DBITMAP;   // Objet Delphi TBitmap
typedef       UINT    DFORM;      // Objet Delphi TForm
struct      SIMAGE
   {
  UINT      piSize;             // Taille de la structure en Octets
  UINT      piWidth;            // Taille X Utile en Pixels
  UINT      piHeight;            // Taille Y Utile en Pixels
  UINT      piWidthSize;      // Taille X Utile en Octets
  UINT      piScanlineSize;   // Taille D'une ScanLine complete en Octets
  UINT      piByteCount;      // NB D'octets par Pixels
  UINT      piDataSize;         // Taille Totale du Buffer en Octets
  UCHAR*   piBuffer;            // Adresse Buffer
  DBITMAP   piBitmap;            // Pointeur Delphi TBitmap
  HBITMAP   piHandle;            // Pointeur HBitmap
   };

//;********************************************************************
//; DESCRIPTION DES STRUCTURES PHOTOFILTRE
//;********************************************************************
//;=== STRUCTURE D'ENTETE DU PLUGIN
struct      PluginHeader
   {
   char      Caption[MaxShortStr+1];
  char      Version[MaxShortStr+1];
  UINT      PluginType;
  char      Author[MaxShortStr+1];
  char      Commentaire[MaxShortStr+1];
   char      Reserved[MaxShortStr+1];
   UINT      Flags;                         
   };

//;=== STRUCTURE D'EXECUTION DU PLUGIN
struct      PluginStruct
   {
  // Compatibilité Niveau 1
  HWND    MainHandle;
  INT      ImageExists;
  INT      Selected;
  RECT   SelRect;
  RECT   ImgRect;
  INT      XP_ThemesEnabled;
  INT (*TBeginFilter)(char* Message,int Sablier);
  INT (*TEndFilter)(void);
  INT (*TGetBitmap)(DBITMAP DelphiBitmap);
  INT (*TSetBitmap)(DBITMAP DelphiBitmap);
  INT (*TGetSelBitmap)(DBITMAP DelphiBitmap);
  INT (*TSetSelBitmap)(DBITMAP DelphiBitmap,UINT SelectOption);
  INT (*TGetTransparentColor)();
  INT (*TSetTransparentColor)(UINT Couleur);
  INT (*TGetColorCount)();
  INT (*TSetColorCount)(INT ColorCount);
  INT (*TNewImage)(DBITMAP DelphiBitmap,char* FileName,INT ImageOption,INT ColorCount,UINT TransColor);
  INT (*TShowForm)(DFORM TForm,INT DialogOption,INT MainFormCenter,INT CloseWaiting);
  INT (*TSetAlphaBlend)(INT AlphaRange);
  INT (*TDrawSelBorder)(INT Width,UINT Couleur,INT Antialias);
  INT (*TGetSelMask)(DBITMAP DelphiBitmap);
  void (*TResetSaveMenu)();
  INT (*TGetImgFileName)(char *PlPath,INT Taille);
  INT (*TGetExePath)(char *PlPath,INT Taille);
  INT (*TGetOpenPath)(char *PlPath,INT Taille);
  INT (*TGetSavePath)(char *PlPath,INT Taille);
  INT (*TGetPluginPath)(char *PlPath,INT Taille);
  INT (*TGetIniFile)(char *PlPath,INT Taille);
  INT (*TSetImgFileName)(char *PlPath);
  INT (*TGetBitmapByName)(DBITMAP DelphiBitmap,char* FileName);
  INT (*TGetThumb)(DBITMAP DelphiBitmap,UINT BkColor,
           INT BorderSize,INT ShadowSize,UINT ShadowBkColor,RECT* R);
  INT (*TGetThumbByName)(DBITMAP DelphiBitmap,char* FileName,UINT BkColor,
           INT BorderSize,INT ShadowSize,UINT ShadowBkColor,RECT* R);
  INT (*TEnumImages)(char* FileName,INT Width,INT Height,INT NbColor,UINT TransColor);
  // Compatibilité Niveau 2
  INT (*TPrepareDialogue)(HWND HandleF,INT DialogOption,INT MainFormCenter,INT CloseWaiting);
  INT (*TCreateDBmp)(struct SIMAGE *BitmapIn);
   INT (*TFreeDBmp)(struct SIMAGE *BitmapIn);
   HDC (*TReleaseHandleDBmp)(struct SIMAGE *BitmapIn);
   INT (*TGetScanLineDBmp)(struct SIMAGE *BitmapIn,UINT Row);
   INT   (*Reserve1)(void);
   INT   (*Reserve2)(void);
   INT   (*Reserve3)(void);
   INT   (*Reserve4)(void);
   INT   (*Reserve5)(void);
   };

//=========================================================================
// FONCTIONS AUXILIAIRES
//=========================================================================
void TRestoreUndoBitmap(struct PluginStruct* Pls);
void TRestoreUndoBitmap(struct PluginStruct* Pls)
{(*Pls->TSetBitmap)(NULL);}

#endif


democ.rc (rien modifié)
Code:
STYLE DS_SYSMODAL | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "test conversion Colorpicker (C)"
FONT 8, "MS Sans Serif"
{
CONTROL "&Annuler", IDC_CANCEL, "button", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 4, 60, 46, 14
CONTROL "&Ok", IDC_OK, "button", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 58, 60, 46, 14
CONTROL "Afficher La Couche &Verte", IDC_VERT, "button", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 4, 24, 92, 9
CONTROL "Afficher La Couche &Rouge", IDC_ROUGE, "button", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 4, 8, 96, 9
CONTROL "Afficher La Couche &Bleue", IDC_BLEU, "button", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 4, 40, 96, 9
CONTROL "Frame1", IDC_STATICFRAME1, "static", SS_ETCHEDFRAME | WS_CHILD | WS_VISIBLE, 4, 56, 100, 1
}


//=================================================
//== ICONES
500 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "Democ.ico"

//=================================================
//== BITMAP
600 BITMAP MOVEABLE PURE LOADONCALL DISCARDABLE "Democ.bmp"


Ressources.h(rien modifié)
Code:
#define IDD_MAIN               1
#define IDI_BITMAP            600
#define IDI_ICON1               500
#define IDC_STATICFRAME1   103
#define IDC_CANCEL            102
#define IDC_OK                  101
#define IDC_BLEU               107
#define IDC_VERT               106
#define IDC_ROUGE               105
#define IDC_CHECKBOX1         105
#define IDC_CHECKBOX2         106
#define IDC_CHECKBOX3         107




Top
 Profile  
 
 Post subject:
PostPosted: 11 Feb 2007 16:46 
Offline
Développeur
Développeur(se)|Développeur|Développeuse
User avatar

Joined: 28 Apr 2004 8:45
Posts: 985
Location: 78
Gender: Male
PhotoFiltre version: 6
Operating System: xp seven
Je vais jeter un z'yeux, mais je ne te promet rien :wink:
A+

_________________
Desesperate HouseTroll


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 35 posts ]  Go to page 1, 2, 3  Next

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group