PhotoFiltre

Le forum officiel de PhotoFiltre
Nous sommes le 23 Mar 2019 12:20

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 35 messages ]  Aller à la page 1, 2, 3  Suivante
Auteur Message
 Sujet du message: Developpement plugin C++
MessagePosté: 10 Juil 2005 13:05 
Hors ligne
Nouveau
Nouveau(elle)|Nouveau|Nouvelle

Inscription: 10 Juil 2005 13:00
Messages: 1
Sexe: Masculin
Version de PhotoFiltre: dernière
Système d'exploitation: xp sp2
Processeur: athlon 2000+
Mémoire RAM: 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


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 16 Juil 2005 12:47 
Hors ligne
Administrateur(trice)
Administrateur(trice)|Administrateur|Administratrice

Inscription: 28 Oct 2003 22:49
Messages: 11079
Sexe: Non spécifié
Personne n'a réalisé de plugin en Visual C++ ? :cry:


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 17 Juil 2005 13:10 
Hors ligne
Développeur
Développeur(se)|Développeur|Développeuse
Avatar de l’utilisateur

Inscription: 28 Avr 2004 7:45
Messages: 985
Localisation: 78
Sexe: Masculin
Version de PhotoFiltre: 6
Système d'exploitation: 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+


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 21 Juil 2005 9:45 
Hors ligne
Habitué(e)
Habitué(e)|Habitué|Habituée

Inscription: 02 Jan 2005 17:03
Messages: 82
Localisation: Aartselaar,Vlaanderen
Sexe: Non spécifié
Version de PhotoFiltre: 6.2.7
Système d'exploitation: XP
Mémoire RAM: 1024
Antonio a écrit:
Personne n'a réalisé de plugin en Visual C++ ? :cry:


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

Alain


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 10 Fév 2007 18:50 
Hors ligne
Habitué
Habitué(e)|Habitué|Habituée

Inscription: 24 Jan 2007 18:53
Messages: 51
Sexe: Masculin
Version de PhotoFiltre: Photofiltre studio
Système d'exploitation: windows XP & Kubuntu 7.04
Processeur: Pentium D 2,8 GHz
Mémoire RAM: 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:


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 10 Fév 2007 23:42 
Hors ligne
Développeur
Développeur(se)|Développeur|Développeuse
Avatar de l’utilisateur

Inscription: 28 Avr 2004 7:45
Messages: 985
Localisation: 78
Sexe: Masculin
Version de PhotoFiltre: 6
Système d'exploitation: 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+


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 11 Fév 2007 7:51 
Hors ligne
Habitué
Habitué(e)|Habitué|Habituée

Inscription: 24 Jan 2007 18:53
Messages: 51
Sexe: Masculin
Version de PhotoFiltre: Photofiltre studio
Système d'exploitation: windows XP & Kubuntu 7.04
Processeur: Pentium D 2,8 GHz
Mémoire RAM: 1024 MO
Oui je devrais pouvoir me débrouiller :D

Encore merci!


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 11 Fév 2007 9:08 
Hors ligne
Administrateur
Administrateur(trice)|Administrateur|Administratrice
Avatar de l’utilisateur

Inscription: 28 Oct 2003 13:39
Messages: 2342
Localisation: 63
Sexe: Masculin
Version de PhotoFiltre: 6.2.7/9.0.0
Système d'exploitation: Windows XP Pro SP2
Processeur: Intel Pentium IV 3.2 Ghz HT
Mémoire RAM: 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...


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 11 Fév 2007 9:11 
Hors ligne
Habitué
Habitué(e)|Habitué|Habituée

Inscription: 24 Jan 2007 18:53
Messages: 51
Sexe: Masculin
Version de PhotoFiltre: Photofiltre studio
Système d'exploitation: windows XP & Kubuntu 7.04
Processeur: Pentium D 2,8 GHz
Mémoire RAM: 1024 MO
Oui c'est bien vrai, question facilité d'utilisation Dev-Cpp n'est pas le meilleur des EDI :lol:


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 11 Fév 2007 9:38 
Hors ligne
Habitué
Habitué(e)|Habitué|Habituée

Inscription: 24 Jan 2007 18:53
Messages: 51
Sexe: Masculin
Version de PhotoFiltre: Photofiltre studio
Système d'exploitation: windows XP & Kubuntu 7.04
Processeur: Pentium D 2,8 GHz
Mémoire RAM: 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?


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 11 Fév 2007 10:06 
Hors ligne
Administrateur(trice)
Administrateur(trice)|Administrateur|Administratrice

Inscription: 28 Oct 2003 22:49
Messages: 11079
Sexe: Non spécifié
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...?


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 11 Fév 2007 10:57 
Hors ligne
Habitué
Habitué(e)|Habitué|Habituée

Inscription: 24 Jan 2007 18:53
Messages: 51
Sexe: Masculin
Version de PhotoFiltre: Photofiltre studio
Système d'exploitation: windows XP & Kubuntu 7.04
Processeur: Pentium D 2,8 GHz
Mémoire RAM: 1024 MO
Je vais peut être posé cette question sur http://www.developpez.com... :(


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 11 Fév 2007 13:27 
Hors ligne
Développeur
Développeur(se)|Développeur|Développeuse
Avatar de l’utilisateur

Inscription: 28 Avr 2004 7:45
Messages: 985
Localisation: 78
Sexe: Masculin
Version de PhotoFiltre: 6
Système d'exploitation: xp seven
Khazna a écrit:
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 :?:


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 11 Fév 2007 15:17 
Hors ligne
Habitué
Habitué(e)|Habitué|Habituée

Inscription: 24 Jan 2007 18:53
Messages: 51
Sexe: Masculin
Version de PhotoFiltre: Photofiltre studio
Système d'exploitation: windows XP & Kubuntu 7.04
Processeur: Pentium D 2,8 GHz
Mémoire RAM: 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




Haut
 Profil  
 
 Sujet du message:
MessagePosté: 11 Fév 2007 15:46 
Hors ligne
Développeur
Développeur(se)|Développeur|Développeuse
Avatar de l’utilisateur

Inscription: 28 Avr 2004 7:45
Messages: 985
Localisation: 78
Sexe: Masculin
Version de PhotoFiltre: 6
Système d'exploitation: xp seven
Je vais jeter un z'yeux, mais je ne te promet rien :wink:
A+

_________________
Desesperate HouseTroll


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 35 messages ]  Aller à la page 1, 2, 3  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduction par: phpBB-fr.com