AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

C++ zu Delphi übersetzung

Ein Thema von EWeiss · begonnen am 15. Sep 2017 · letzter Beitrag vom 15. Sep 2017
 
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: C++ zu Delphi übersetzung

  Alt 15. Sep 2017, 18:10
mir war langweilig.....
Delphi-Quellcode:
unit SubrenderIntf;

interface

uses
   Windows;
// ---------------------------------------------------------------------------

// Forwards
type
   ISubRenderConsumer = interface;
   ISubRenderProvider = interface;
   ISubRenderFrame = interface;

   LPCSTR = PAnsiChar;
   LPCWSTR = PWideChar;
   ULONG = Cardinal;
   LPVOID = Pointer;
   LPCVOID = Pointer; // Eventuel ^Pointer bin ich jetzt nicht sicher in dem Context
   REFERENCE_TIME = Double; // Keine Ahnung ob das stimmt keine Referenz im *.h
   RECT = TRect;
   POINT = TPoint;

   ISubRenderOptions = interface(IUnknown)
      ['{7CFD3728-235E-4430-9A2D-9F25F426BD70}']
      function GetBool(field: LPCSTR; out value: BOOL): HRESULT; stdcall;
      function GetInt(field: LPCSTR; out value: Integer): HRESULT; stdcall;
      function GetSize(field: LPCSTR; out value: TSize): HRESULT; stdcall;
      function GetRect(field: LPCSTR; out value: TRect): HRESULT; stdcall;
      function GetUlonglong(field: LPCSTR; out value: UInt64): HRESULT; stdcall;
      function GetDouble(field: LPCSTR; out value: Double): HRESULT; stdcall;
      function GetString(field: LPCSTR; value: LPCSTR; out chars: Integer): HRESULT; stdcall;
      function GetBin(field: LPCSTR; value: Pointer; out size: Integer): HRESULT; stdcall;

      function SetBool(field: LPCSTR; value: BOOL): HRESULT; stdcall;
      function SetInt(field: LPCSTR; value: Integer): HRESULT; stdcall;
      function SetSize(field: LPCSTR; value: TSize): HRESULT; stdcall;
      function SetRect(field: LPCSTR; value: TRect): HRESULT; stdcall;
      function SetUlonglong(field: LPCSTR; value: UInt64): HRESULT; stdcall;
      function SetDouble(field: LPCSTR; value: Double): HRESULT; stdcall;
      function SetString(field: LPCSTR; value: LPCSTR; out chars: Integer): HRESULT; stdcall;
      function SetBin(field: LPCSTR; value: Pointer; size: Integer): HRESULT; stdcall;

   end;

   ISubRenderConsumer = interface(ISubRenderOptions)
      ['{9DF90966-FE9F-4F0E-881E-DAF8A572D900}']
      function GetMerit(var merit: ULONG): HRESULT; stdcall;
      function Connect(var subtitleRenderer: ISubRenderProvider): HRESULT; stdcall;
      function Disconnect(): HRESULT; stdcall;
      function DeliverFrame(start: REFERENCE_TIME; stop: REFERENCE_TIME; context: LPVOID; var subtitleFrame: ISubRenderFrame): HRESULT; stdcall;

   end;

   ISubRenderConsumer2 = interface(ISubRenderConsumer)
      ['{9DF90966-FE9F-4F0E-881E-DAF8A572D900}']
      function Clear(clearNewerThan: REFERENCE_TIME): HRESULT; stdcall;
   end;

   ISubRenderProvider = interface(ISubRenderOptions)
      ['{20752113-C883-455A-BA7B-ABA4E9115CA8}']
      function RequestFrame(start: REFERENCE_TIME; stop: REFERENCE_TIME; context: LPVOID): HRESULT; stdcall;
      function Disconnect(): HRESULT; stdcall;
   end;

   ISubRenderFrame = interface(IUnknown)
      ['{81746AB5-9407-4B43-A014-1FAAC340F973}']
      function GetOutputRect(var outputRect: RECT): HRESULT; stdcall;
      function GetClipRect(var clipRect: RECT): HRESULT; stdcall;
      function GetBitmapCount(var count: Integer): HRESULT; stdcall;
      function GetBitmap(index: Integer; var position: POINT; var size: TSize; const pixels: LPCVOID; var pitch: Integer): HRESULT; stdcall;

   end;

implementation

end.
Fritz Westermann
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz