Commit 4a1ffc513580c83691e84a347eaa0c48744692c1
1 parent
b7623085
Exists in
master
Adicionando autohotkey
Showing
15 changed files
with
214 additions
and
105 deletions
Show diff stats
Clipboard/Clipboard.py
1 | # -- coding: utf-8 -- | 1 | # -- coding: utf-8 -- |
2 | -import ctypes | 2 | +import ctypes, subprocess |
3 | + | ||
4 | +global process | ||
3 | 5 | ||
4 | def clip(): | 6 | def clip(): |
5 | 7 | ||
@@ -17,4 +19,11 @@ def clip(): | @@ -17,4 +19,11 @@ def clip(): | ||
17 | if isinstance(text, unicode): | 19 | if isinstance(text, unicode): |
18 | return text.encode("utf-8") | 20 | return text.encode("utf-8") |
19 | else: | 21 | else: |
20 | - return "Selecione um texto" | ||
21 | \ No newline at end of file | 22 | \ No newline at end of file |
23 | + return "Selecione um texto" | ||
24 | + | ||
25 | +def bdragOn(): | ||
26 | + global process | ||
27 | + process = subprocess.Popen("Bdrag") | ||
28 | + | ||
29 | +def bdragOff(): | ||
30 | + process.kill() | ||
22 | \ No newline at end of file | 31 | \ No newline at end of file |
Clipboard/Clipboard.pyc
No preview for this file type
Makefile
@@ -23,18 +23,23 @@ FILES = src\pyTradutor.cpp src\pyClip.cpp | @@ -23,18 +23,23 @@ FILES = src\pyTradutor.cpp src\pyClip.cpp | ||
23 | #Headers | 23 | #Headers |
24 | INCLUDES = include\pyTradutor.h include\pyClip.h | 24 | INCLUDES = include\pyTradutor.h include\pyClip.h |
25 | 25 | ||
26 | +CLEAN_OBJ = del -q *.obj | ||
27 | + | ||
26 | #Gera executável testLibras | 28 | #Gera executável testLibras |
27 | -all: $(FILES) $(INCLUDES) src\testLibras.cpp | ||
28 | - $(CC) -Fe$(OUT) -EHsc src\testLibras.cpp $(FILES) $(CFLAGS) $(LFLAGS) | 29 | +all: $(FILES) $(INCLUDES) src\testLibras.cpp |
30 | + $(CC) -Fe$(OUT) -EHsc src\testLibras.cpp $(FILES) $(CFLAGS) $(LFLAGS) | ||
31 | + $(CLEAN_OBJ) | ||
29 | 32 | ||
30 | #Gera dll na arquitetura x86 | 33 | #Gera dll na arquitetura x86 |
31 | plugin-x86: $(FILES) $(INCLUDES) | 34 | plugin-x86: $(FILES) $(INCLUDES) |
32 | $(CC) -Feplugin\Plugin-x86\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS) | 35 | $(CC) -Feplugin\Plugin-x86\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS) |
36 | + $(CLEAN_OBJ) | ||
33 | 37 | ||
34 | #Gera dll na arquitetura x64 | 38 | #Gera dll na arquitetura x64 |
35 | plugin-x64: $(FILES) $(INCLUDES) | 39 | plugin-x64: $(FILES) $(INCLUDES) |
36 | $(CC) -Feplugin\Plugin-x64\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS) | 40 | $(CC) -Feplugin\Plugin-x64\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS) |
37 | - | 41 | + $(CLEAN_OBJ) |
42 | + | ||
38 | #Gera .obj da classe de teste | 43 | #Gera .obj da classe de teste |
39 | testLibras: $(FILES) $(INCLUDES) src\testLibras.cpp | 44 | testLibras: $(FILES) $(INCLUDES) src\testLibras.cpp |
40 | $(CC) -c -FotestLibras -EHsc Main.cpp $(FILES) $(CFLAGS) $(LFLAGS) | 45 | $(CC) -c -FotestLibras -EHsc Main.cpp $(FILES) $(CFLAGS) $(LFLAGS) |
@@ -49,7 +54,7 @@ pyClip: src\pyClip.cpp src\pyClip.h | @@ -49,7 +54,7 @@ pyClip: src\pyClip.cpp src\pyClip.h | ||
49 | 54 | ||
50 | #Limpa arquivos objetos e executáveis criados | 55 | #Limpa arquivos objetos e executáveis criados |
51 | clean: | 56 | clean: |
52 | - del -q *.exe *.obj | 57 | + del -q *.exe *.obj |
53 | 58 | ||
54 | #Limpa dll criada em arquitetura x-86 | 59 | #Limpa dll criada em arquitetura x-86 |
55 | clean-plugin-x86: | 60 | clean-plugin-x86: |
@@ -62,6 +67,7 @@ clean-plugin-x64: | @@ -62,6 +67,7 @@ clean-plugin-x64: | ||
62 | #Gera executável para testar a dll | 67 | #Gera executável para testar a dll |
63 | test-plugin: | 68 | test-plugin: |
64 | $(CC) plugin\testPlugin.cpp -EHsc | 69 | $(CC) plugin\testPlugin.cpp -EHsc |
70 | + $(CLEAN_OBJ) | ||
65 | 71 | ||
66 | # Baixa e instala dependências | 72 | # Baixa e instala dependências |
67 | install: | 73 | install: |
@@ -0,0 +1,72 @@ | @@ -0,0 +1,72 @@ | ||
1 | + | ||
2 | + | ||
3 | +#SingleInstance,Reload ; Mantem apenas uma versão executando | ||
4 | +SetBatchLines,-1 ; Não permite o script entrar em modo sleep | ||
5 | +CoordMode,Mouse | ||
6 | + | ||
7 | +SysGet,x,68 | ||
8 | +SysGet,y,69 | ||
9 | + | ||
10 | +~^a:: | ||
11 | + Gosub,COPIAR | ||
12 | +return | ||
13 | + | ||
14 | +~+LButton Up:: | ||
15 | + Gosub,COPIAR | ||
16 | +Return | ||
17 | + | ||
18 | +~LButton:: | ||
19 | + MouseGetPos,coordx_old,coordy_old,winid_old | ||
20 | +Return | ||
21 | + | ||
22 | +~LButton Up:: | ||
23 | + MouseGetPos,coordx,coordy,winid | ||
24 | + VarSetCapacity(rect, 16) | ||
25 | + | ||
26 | + DllCall("GetClientRect", "uint", winid_old, "uint", &rect) | ||
27 | + rect_left :=NumGet(rect,0, "int") | ||
28 | + rect_top :=NumGet(rect,4, "int") | ||
29 | + rect_right :=NumGet(rect,8, "int") | ||
30 | + rect_bottom:=NumGet(rect,12,"int") | ||
31 | + If (winid=winid_old And (coordx<coordx_old-x Or coordx>coordx_old+x Or coordy<coordy_old-y Or coordy>coordy_old+y)) | ||
32 | + If (coordx_old>=rect_left And coordx_old<=rect_right And coordy_old>=rect_top And coordy_old<=rect_bottom) | ||
33 | + Gosub,COPIAR | ||
34 | + | ||
35 | + ticks = %A_TickCount% | ||
36 | + difticks = %ticks% | ||
37 | + EnvSub,difticks,%oldticks% | ||
38 | + | ||
39 | + If difticks<400 | ||
40 | + If (coordx_old>=rect_left And coordx_old<=rect_right And coordy_old>=rect_top And coordy_old<=rect_bottom) | ||
41 | + Gosub,COPIAR | ||
42 | + oldticks=%ticks% | ||
43 | +Return | ||
44 | + | ||
45 | +COPIAR: | ||
46 | + Sleep,400 | ||
47 | + clip=%Clipboardall% | ||
48 | + Clipboard= | ||
49 | + Send,^c | ||
50 | + ClipWait,1 | ||
51 | + If Clipboard= | ||
52 | + Clipboard=%clip% | ||
53 | +Return | ||
54 | + | ||
55 | +EXIT: | ||
56 | +ExitApp | ||
57 | + | ||
58 | + | ||
59 | + | ||
60 | + | ||
61 | + | ||
62 | + | ||
63 | + | ||
64 | + | ||
65 | + | ||
66 | + | ||
67 | + | ||
68 | + | ||
69 | + | ||
70 | + | ||
71 | + | ||
72 | + |
include/pyClip.h
@@ -12,13 +12,16 @@ namespace Clipboard | @@ -12,13 +12,16 @@ namespace Clipboard | ||
12 | PyObject * pModule; | 12 | PyObject * pModule; |
13 | PyObject * pDict; | 13 | PyObject * pDict; |
14 | PyObject * pFunc; | 14 | PyObject * pFunc; |
15 | + PyObject * p_On; | ||
16 | + PyObject * p_Off; | ||
15 | PyObject * pArgs; | 17 | PyObject * pArgs; |
16 | PyObject * pResult; | 18 | PyObject * pResult; |
17 | public: | 19 | public: |
18 | PyClip(); | 20 | PyClip(); |
19 | ~PyClip(); | 21 | ~PyClip(); |
20 | char* clip(); | 22 | char* clip(); |
21 | - | 23 | + void bdragOn(); |
24 | + void bdragOff(); | ||
22 | }; | 25 | }; |
23 | } | 26 | } |
24 | 27 |
instalador/install.bat
@@ -1,91 +0,0 @@ | @@ -1,91 +0,0 @@ | ||
1 | -::############################## Instalador VLibras ############################ | ||
2 | -::# # | ||
3 | -::# Bruno Santos # | ||
4 | -::# brunosantos@lavid.ufpb.br # | ||
5 | -::# # | ||
6 | -::############################################################################## | ||
7 | - | ||
8 | -::Define Título da janela do prompt | ||
9 | -TITLE Instalador VLibras-Core Windows | ||
10 | - | ||
11 | -::Limpa a tela | ||
12 | -CLS | ||
13 | - | ||
14 | -::Desabilita mensagens | ||
15 | -@ECHO off | ||
16 | - | ||
17 | -ECHO ############### Instalando VLibras ############### | ||
18 | - | ||
19 | -::################# Variáveis de Ambiente ################# | ||
20 | -:VAR | ||
21 | -ECHO Deseja Exportar as variaveis de ambiente: (S - N) | ||
22 | - | ||
23 | -::Solicita valor do usuário | ||
24 | -SET /p valor=--^> | ||
25 | - | ||
26 | -IF /I %valor% == n GOTO NO_VAR | ||
27 | -IF /I %valor% == s (ECHO OK!) ELSE (GOTO VAR) | ||
28 | - | ||
29 | -ECHO. | ||
30 | -ECHO Exportando Variaveis de Ambiente: | ||
31 | -ECHO. | ||
32 | - | ||
33 | -::Váriaveis Permanentes (Sistema) | ||
34 | -ECHO AELIUS_DATA | ||
35 | -SETX AELIUS_DATA %HOMEPATH%\vlibras-libs\aelius_data /M | ||
36 | - | ||
37 | -ECHO NLTK_DATA | ||
38 | -SETX NLTK_DATA %HOMEPATH%\vlibras-libs\nltk_data /M | ||
39 | - | ||
40 | -ECHO HUNPOS_TAGGER | ||
41 | -SETX HUNPOS_TAGGER %HOMEPATH%\vlibras-libs\bin\hunpos-tag.exe /M | ||
42 | - | ||
43 | -ECHO PYTHONPATH | ||
44 | -SETX PYTHONPATH %HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEPATH%\vlibras-libs;%HOMEPATH%\vlibras-libs\tradutor;%HOMEPATH%\vlibras-core-win\Clipboard /M | ||
45 | - | ||
46 | -SETX "PATH" "%PATH%";%HOMEPATH%\vlibras-libs\bin;%HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEDRIVE%"\Program Files (x86)\7-Zip" /M | ||
47 | - | ||
48 | -::Código executa a partir desse ponto caso o usuário não precise configurar as variáveis de ambiente | ||
49 | -:NO_VAR | ||
50 | - | ||
51 | -::################# Instalação do Python ################# | ||
52 | -:PYTHON | ||
53 | -ECHO Deseja Instalar o Python-2.7.9: (S - N) | ||
54 | - | ||
55 | -SET /p valor=--^> | ||
56 | -IF /I %valor% == n GOTO NO_PYTHON | ||
57 | -IF /I %valor% == s (ECHO OK!) ELSE (GOTO PYTHON) | ||
58 | - | ||
59 | -msiexec /i python-2.7.9.msi /passive | ||
60 | - | ||
61 | -::Código executa a partir desse ponto caso o usuário não precise Instalar o Python | ||
62 | -:NO_PYTHON | ||
63 | - | ||
64 | -::################# Instalação do Aelius ################# | ||
65 | -:TRADUTOR | ||
66 | -ECHO Deseja Instalar o VLibras Tradutor (S - N) | ||
67 | - | ||
68 | -SET /p valor=--^> | ||
69 | -IF /I %valor% == n GOTO END | ||
70 | -IF /I %valor% == s (ECHO OK!) ELSE (GOTO TRADUTOR) | ||
71 | - | ||
72 | -pyyaml.exe | ||
73 | -numpy.exe | ||
74 | -matplotlib.exe | ||
75 | -nltk.exe | ||
76 | - | ||
77 | -IF NOT EXIST C:"\Program Files (x86)\7-Zip" (msiexec /i 7zip.msi /passive) | ||
78 | - | ||
79 | -ECHO 7-Zip instalado com sucesso! | ||
80 | - | ||
81 | -COPY C:"\Program Files (x86)\7-Zip\7z.exe" %SYSTEMROOT%\System32 | ||
82 | - | ||
83 | -::################# Instalação do VLibras ################# | ||
84 | - | ||
85 | -ECHO Extraindo Arquivos... | ||
86 | -7z x -o%HOMEPATH% vlibras-libs.zip vlibras-libs | ||
87 | - | ||
88 | -:END | ||
89 | -ECHO VLibras Tradutor instalado com sucesso! | ||
90 | - | ||
91 | -cd %HOMEPATH%\vlibras-libs |
@@ -0,0 +1,89 @@ | @@ -0,0 +1,89 @@ | ||
1 | +::############################## Instalador VLibras ############################ | ||
2 | +::# # | ||
3 | +::# Bruno Santos # | ||
4 | +::# brunosantos@lavid.ufpb.br # | ||
5 | +::# # | ||
6 | +::############################################################################## | ||
7 | + | ||
8 | +::Define Título da janela do prompt | ||
9 | +TITLE Instalador VLibras-Core Windows | ||
10 | + | ||
11 | +::Limpa a tela | ||
12 | +CLS | ||
13 | + | ||
14 | +::Desabilita mensagens | ||
15 | +@ECHO off | ||
16 | + | ||
17 | +ECHO ############### Instalando VLibras ############### | ||
18 | + | ||
19 | +::################# Variáveis de Ambiente ################# | ||
20 | +:VAR | ||
21 | +ECHO Deseja Exportar as variaveis de ambiente: (S - N) | ||
22 | + | ||
23 | +::Solicita valor do usuário | ||
24 | +SET /p valor=--^> | ||
25 | + | ||
26 | +IF /I %valor% == n GOTO NO_VAR | ||
27 | +IF /I %valor% == s (ECHO OK!) ELSE (GOTO VAR) | ||
28 | + | ||
29 | +ECHO. | ||
30 | +ECHO Exportando Variaveis de Ambiente: | ||
31 | +ECHO. | ||
32 | + | ||
33 | +::Váriaveis Permanentes (Sistema) | ||
34 | +ECHO AELIUS_DATA | ||
35 | +SETX AELIUS_DATA %HOMEPATH%\vlibras-libs\aelius_data /M | ||
36 | + | ||
37 | +ECHO NLTK_DATA | ||
38 | +SETX NLTK_DATA %HOMEPATH%\vlibras-libs\nltk_data /M | ||
39 | + | ||
40 | +ECHO HUNPOS_TAGGER | ||
41 | +SETX HUNPOS_TAGGER %HOMEPATH%\vlibras-libs\bin\hunpos-tag.exe /M | ||
42 | + | ||
43 | +ECHO PYTHONPATH | ||
44 | +SETX PYTHONPATH %HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEPATH%\vlibras-libs;%HOMEPATH%\vlibras-libs\tradutor;%HOMEPATH%\vlibras-core-win\Clipboard /M | ||
45 | + | ||
46 | +SETX "PATH" "%PATH%";%HOMEPATH%\vlibras-libs\bin;%HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEDRIVE%"\Program Files (x86)\7-Zip" /M | ||
47 | + | ||
48 | +::Código executa a partir desse ponto caso o usuário não precise configurar as variáveis de ambiente | ||
49 | +:NO_VAR | ||
50 | + | ||
51 | +::################# Instalação do Python ################# | ||
52 | +:PYTHON | ||
53 | +ECHO Deseja Instalar o Python-2.7.9: (S - N) | ||
54 | + | ||
55 | +SET /p valor=--^> | ||
56 | +IF /I %valor% == n GOTO NO_PYTHON | ||
57 | +IF /I %valor% == s (ECHO OK!) ELSE (GOTO PYTHON) | ||
58 | + | ||
59 | +msiexec /i python-2.7.9.msi /passive | ||
60 | + | ||
61 | +::Código executa a partir desse ponto caso o usuário não precise Instalar o Python | ||
62 | +:NO_PYTHON | ||
63 | + | ||
64 | +::################# Instalação do Aelius ################# | ||
65 | +:TRADUTOR | ||
66 | +ECHO Deseja Instalar o VLibras Tradutor (S - N) | ||
67 | + | ||
68 | +SET /p valor=--^> | ||
69 | +IF /I %valor% == n GOTO END | ||
70 | +IF /I %valor% == s (ECHO OK!) ELSE (GOTO TRADUTOR) | ||
71 | + | ||
72 | +pyyaml.exe | ||
73 | +numpy.exe | ||
74 | +matplotlib.exe | ||
75 | +nltk.exe | ||
76 | + | ||
77 | +IF NOT EXIST C:"\Program Files (x86)\7-Zip" (msiexec /i 7zip.msi /passive) | ||
78 | + | ||
79 | +ECHO 7-Zip instalado com sucesso! | ||
80 | + | ||
81 | +COPY C:"\Program Files (x86)\7-Zip\7z.exe" %SYSTEMROOT%\System32 | ||
82 | + | ||
83 | +::################# Instalação do VLibras ################# | ||
84 | + | ||
85 | +ECHO Extraindo Arquivos... | ||
86 | +7z x -o%HOMEPATH% vlibras-libs.zip vlibras-libs | ||
87 | + | ||
88 | +:END | ||
89 | +ECHO VLibras Tradutor instalado com sucesso! |
plugin/Plugin-x64/CorePlugin.dll
No preview for this file type
plugin/Plugin-x64/CorePlugin.lib
No preview for this file type
plugin/Plugin-x86/CorePlugin.dll
No preview for this file type
plugin/Plugin-x86/CorePlugin.lib
No preview for this file type
plugin/corePlugin.cpp
@@ -6,16 +6,18 @@ | @@ -6,16 +6,18 @@ | ||
6 | #endif | 6 | #endif |
7 | 7 | ||
8 | #include "corePlugin.h" | 8 | #include "corePlugin.h" |
9 | - | 9 | + |
10 | extern "C" | 10 | extern "C" |
11 | { | 11 | { |
12 | EXPORT_API int coreInitialize() | 12 | EXPORT_API int coreInitialize() |
13 | - { | 13 | + { |
14 | //Objeto usado para traduzir | 14 | //Objeto usado para traduzir |
15 | tradutor = new PyTradutor(); | 15 | tradutor = new PyTradutor(); |
16 | 16 | ||
17 | //Objeto usado para copiar texto da área de transferência | 17 | //Objeto usado para copiar texto da área de transferência |
18 | clipboard = new PyClip(); | 18 | clipboard = new PyClip(); |
19 | + clipboard->bdragOn(); | ||
20 | + | ||
19 | return 1; | 21 | return 1; |
20 | } | 22 | } |
21 | 23 | ||
@@ -23,15 +25,16 @@ | @@ -23,15 +25,16 @@ | ||
23 | { | 25 | { |
24 | //Copia área de transferência para input | 26 | //Copia área de transferência para input |
25 | char *input = clipboard->clip(); | 27 | char *input = clipboard->clip(); |
26 | - | 28 | + |
27 | //Retorna a tradução do texto para glosa | 29 | //Retorna a tradução do texto para glosa |
28 | return tradutor->convertStringToGlosa(input); | 30 | return tradutor->convertStringToGlosa(input); |
29 | } | 31 | } |
30 | 32 | ||
31 | EXPORT_API int coreFinalize() | 33 | EXPORT_API int coreFinalize() |
32 | - { | 34 | + { |
35 | + clipboard->bdragOff(); | ||
33 | delete tradutor; | 36 | delete tradutor; |
34 | - return 1; | 37 | + return 1; |
35 | } | 38 | } |
36 | 39 | ||
37 | } | 40 | } |
plugin/corePlugin.h
1 | #ifndef _COREPLUGIN_H | 1 | #ifndef _COREPLUGIN_H |
2 | #define _COREPLUGIN_H | 2 | #define _COREPLUGIN_H |
3 | 3 | ||
4 | +#include <process.h> | ||
5 | +#include <windows.h> | ||
4 | #include "pyTradutor.h" | 6 | #include "pyTradutor.h" |
5 | -#include "pyClip.h" | 7 | +#include "pyClip.h" |
6 | 8 | ||
7 | using namespace Tradutor; | 9 | using namespace Tradutor; |
8 | using namespace Clipboard; | 10 | using namespace Clipboard; |
plugin/testPlugin.cpp
@@ -29,7 +29,7 @@ int main(int argc, char *argv[]) | @@ -29,7 +29,7 @@ int main(int argc, char *argv[]) | ||
29 | finalize=(metodo3)GetProcAddress((HMODULE)hDLL, "coreFinalize"); | 29 | finalize=(metodo3)GetProcAddress((HMODULE)hDLL, "coreFinalize"); |
30 | 30 | ||
31 | //Executa coreInitialize | 31 | //Executa coreInitialize |
32 | - int init = initialize(); | 32 | + int init = initialize(); |
33 | cout <<"return initialize: " << init <<endl; | 33 | cout <<"return initialize: " << init <<endl; |
34 | 34 | ||
35 | //Executa coreExecute | 35 | //Executa coreExecute |
src/pyClip.cpp
@@ -20,6 +20,8 @@ namespace Clipboard | @@ -20,6 +20,8 @@ namespace Clipboard | ||
20 | assert(pDict!=NULL); | 20 | assert(pDict!=NULL); |
21 | // Return the object from dictionary pDict which has a key 'iniciar' | 21 | // Return the object from dictionary pDict which has a key 'iniciar' |
22 | pFunc = PyDict_GetItemString(pDict, "clip"); | 22 | pFunc = PyDict_GetItemString(pDict, "clip"); |
23 | + p_On = PyDict_GetItemString(pDict, "bdragOn"); | ||
24 | + p_Off = PyDict_GetItemString(pDict, "bdragOff"); | ||
23 | //PyErr_Print(); | 25 | //PyErr_Print(); |
24 | assert(pFunc!=NULL); | 26 | assert(pFunc!=NULL); |
25 | } | 27 | } |
@@ -37,4 +39,18 @@ namespace Clipboard | @@ -37,4 +39,18 @@ namespace Clipboard | ||
37 | 39 | ||
38 | return PyString_AsString(pResult); | 40 | return PyString_AsString(pResult); |
39 | } | 41 | } |
42 | + | ||
43 | + void PyClip::bdragOn() | ||
44 | + { | ||
45 | + // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs' | ||
46 | + PyObject_CallObject(p_On,pArgs); | ||
47 | + | ||
48 | + } | ||
49 | + | ||
50 | + void PyClip::bdragOff() | ||
51 | + { | ||
52 | + // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs' | ||
53 | + PyObject_CallObject(p_Off,pArgs); | ||
54 | + } | ||
55 | + | ||
40 | } | 56 | } |
41 | \ No newline at end of file | 57 | \ No newline at end of file |