Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # * daxcore.dll
- #==============================================================================
- # Autor : Dax Aquatic X
- # Versão: i0.4
- # Requerimento : Dax Core
- # Site : www.dax-soft.weebly.com
- # Suporte : dax-soft@live.com
- #==============================================================================
- # Script que chama as funções da dll, 'daxcore.dll'.
- #==============================================================================
- # Conteúdo : • TAGS : Para facilitar a localização dos códigos e explicações. Para acessar
- # o comando para localizar, basta apertar Ctrl+F.
- #==============================================================================
- # i :
- # - DCLL :dcll
- # - Bitmap :bitmap
- #==============================================================================
- # • Adicionado comentário padrão. Veja o modo que agora os comentários dos
- # métodos estão.
- #==============================================================================
- # • [Classe do Retorno] : Explicação.
- # * Exemplo.(Se possível.)
- #==============================================================================
- Dax.register(:daxcore_dll, "Dax", 0.4, "08/01/15")
- $DCLL = "./daxcore.dll"
- raise("DLL não encontrada.") unless FileTest.exist?($DCLL)
- #==============================================================================
- # • DLLFUNC_DAXCORE
- #==============================================================================
- Dax.register(:dcll)
- module DCLL
- extend self
- extend API
- #----------------------------------------------------------------------------
- # • [INFO] : Versão da DLL.
- #----------------------------------------------------------------------------
- INFO = char("INFO", [], $DCLL).call.freeze
- #----------------------------------------------------------------------------
- # • [BitmapRGBAInvert] : Inverter as cores do bitmap.
- #----------------------------------------------------------------------------
- BitmapRGBAInvert = int("BitmapRGBAInvert", [:I], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapToGrayscale] : Converte as cores do bitmap para cinza.
- #----------------------------------------------------------------------------
- BitmapToGrayscale = int("BitmapToGrayscale", [:I], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapColorSaturation] : Saturação das cores..
- #----------------------------------------------------------------------------
- BitmapColorSaturation = int("BitmapColorSaturation", [:int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapBrightness] : Brilho nas cores..
- #----------------------------------------------------------------------------
- BitmapColorBrightness = int("BitmapColorBrightness", [:I, :i], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapColorContrast] : Contraste nas cores..
- #----------------------------------------------------------------------------
- BitmapColorContrast = int("BitmapColorContrast", [:I, :i], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapColorize] : Colorir o bitmap.
- #----------------------------------------------------------------------------
- BitmapColorize = int("BitmapColorize", [:I, :int, :int, :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapFilter33] : Filtro[33]
- #----------------------------------------------------------------------------
- BitmapFilter33 = int("BitmapFilter33", [:I,:int,:int,:int,:int,:int,:int,:int,:int,:int,:int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapMonochrome] : Transforma as cores em uma escala só.
- #----------------------------------------------------------------------------
- BitmapMonochrome = int("BitmapMonochrome", [:I], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapFilter34] : Filtro[34]
- #----------------------------------------------------------------------------
- BitmapFilter34 = int("BitmapFilter34", [:I,:int,:int,:int,:int,:int,:int,:int,:int,:int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapTint] : Preencher color bitmap. Tint
- #----------------------------------------------------------------------------
- BitmapTint= int("BitmapTint", [:I, :int, :int, :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapRGBABust] : Efeitos de cores livres. Você define.
- #----------------------------------------------------------------------------
- BitmapRGBABust = int("BitmapRGBABust", [:I, :long, :long, :long,
- :long, :long, :long, :long, :long, :long], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapClearRect] : Limpa uma área retangular. Mesmo método do
- # Maker(classe Bitmap#clear_rect)
- # BitmapClearRect.call(object_id, x, y, width, height)
- #----------------------------------------------------------------------------
- BitmapClearRect = int("BitmapClearRect", [:long, :int, :int, :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapFillRect] : Preenche uma área retangular. Mesmo método do
- # Maker(classe Bitmap#fill_rect)
- # BitmapFillRect.call(object_id, x, y, width, height, red, green, blue, alpha)
- #----------------------------------------------------------------------------
- BitmapFillRect = int("BitmapFillRect", [:long, :int, :int, :int, :int,
- :int, :int, :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapBLT] : Realiza a mesma função que Bitmap#blt.
- # BitmapBLT.call(object_id, other_object_id, x, y, srcx, srcy, width, height,
- # opacity)
- #----------------------------------------------------------------------------
- BitmapBLT = int("BitmapBLT", [:long, :long, :int, :int, :int, :int,
- :int, :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapSimpleBLT] : Realiza a mesma função que Bitmap#blt, só que de
- # maneira mais simples.
- # BitmapBLT.call(object_id, other_object_id, x, y, srcx, srcy, width, height)
- #----------------------------------------------------------------------------
- BitmapSimpleBLT = int("BitmapSimpleBLT", [:long, :long, :int, :int, :int, :int,
- :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapBlendBLT] : Realiza a mesma função que o Bitmap#blt, só que
- # com a função de realizar 'blends' no bitmap.
- # BitmapBlendBLT.call(object_id, other_object_id, x, y, srcx, srcy, width, height,
- # blend, opacity)
- # Tipos de 'blend' :
- # 0 - Normal.
- # 1 - Adicionar
- # 2 - Subtrair.
- # 3 - Multiplicação.
- # 4 - Divisão.
- # 5 - Subexposição escura.
- # 6 - Luz indireta.
- # 7 - Subexposição de cores.
- # 8 - Superexposição linear #-1.
- # 9 - Superexposição linear.
- #----------------------------------------------------------------------------
- BitmapBlendBLT = int("BitmapBlendBLT", [:long, :long, :int, :int, :int, :int,
- :int, :int, :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapTransferBLT] : Realiza a mesma função que o Bitmap#blt, só que
- # você pode determinar o modo da transferência do bitmap.
- # BitmapTransferBLT.call(object_id, other_object_id, x, y, srcx, srcy,
- # width, height, transfer, opacity)
- # Tipos de 'transfers'
- # 0 - Normal
- # 1 - Fundo preenchido.
- #----------------------------------------------------------------------------
- BitmapTransferBLT = int("BitmapTransferBLT", [:long, :long, :int, :int, :int, :int,
- :int, :int, :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapTilemap] : Função de desenhar tiles no bitmap.
- # BitmapTilemap.call(data, priority)
- # data : Array que contém os ids dos tiles.
- # priority : Array que contém as prioridades dos tiles.
- # sizes : Array que contém o tamanho dos tiles.
- # tileset : Bitmap da imagem do tileset.
- # autotiles : Array que contém os bitmaps dos autotiles.
- # layer : Bitmap do layer.
- # ox : Coordenação em OX.
- # oy : Coordenação em OY.
- # pri : Prioridade padrão(0).
- #----------------------------------------------------------------------------
- BitmapTransitionIN = int("BitmapTransitionIN", [:int, :int, :int, :long,
- :long, :long, :int, :int,
- :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapSplit] : Corta o bitmap com relação a outro.
- # BitmapSplit.call(object_id, other_object_id, x, y)
- #----------------------------------------------------------------------------
- BitmapSplit = int("BitmapSplit", [:long, :long, :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapRipple] : Efeito wave, efeito de onda, o efeito funciona
- # com relação ao outro bitmap.
- # BitmapRipple.call(object_id, other_object_id, amplitude, wavelenght, dir)
- #----------------------------------------------------------------------------
- BitmapRipple = int("BitmapRipple", [:long, :long, :int, :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapRippleCircle] : Efeito wave, efeito de onda, o efeito funciona
- # com relação ao outro bitmap.
- # BitmapRippleCircle.call(object_id, cx, cy, angle, width, change, amount)
- #----------------------------------------------------------------------------
- BitmapRippleCircle = int("BitmapRippleCircle", [:long, :int, :int, :int, :int,
- :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapGetPixel] : Mesma função que o Bitmap#get_pixel
- # BitmapGetPixel.call(object_id, x, y, index)
- # index dá cor. 0 - red, 1 - green, 2 - blue, 3 - alpha.
- #----------------------------------------------------------------------------
- BitmapGetPixel = int("BitmapGetPixel", [:long, :int, :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapGetPixelRGBA] : Mesma coisa do BitmapGetPixel, só que retorna
- # a uma classe Color.
- #----------------------------------------------------------------------------
- BitmapGetPixelRGBA = ->(object, x, y) {
- index = []
- 0.upto(3) { |i| index << BitmapGetPixel.call(object, x, y, i) }
- return Color.new(*index)
- }
- #----------------------------------------------------------------------------
- # • [BitmapDrawCircle] : Desenha um círculo.
- # BitmapDrawCircle.call(object_id, cx, cy, rad, thick,
- # start_angle, end_angle, r, g, b, a)
- #----------------------------------------------------------------------------
- BitmapDrawCircle = int("BitmapDrawCircle", [:long, :int, :int, :int, :int,
- :int, :int, :int, :int, :int,
- :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapDrawEllipse] : Desenha uma elípse.
- # BitmapDrawEllipse.call(object_id, cx, cy, rx, ry, thick, start_angle,
- # end_angle, r, g, b, a)
- #----------------------------------------------------------------------------
- BitmapDrawEllipse = int("BitmapDrawEllipse", [:long, :int, :int, :int, :int,
- :int, :int, :int, :int, :int,
- :int, :int], $DCLL)
- #----------------------------------------------------------------------------
- # • [BitmapPixelize] : Pixalizar o bitmap.
- # BitmapPixelize.call(object_id, sizex, sizey)
- #----------------------------------------------------------------------------
- BitmapPixelize = int("BitmapPixelize", [:long, :int, :int], $DCLL)
- end
- #==============================================================================
- # • Pixel :pixel
- #==============================================================================
- class Bitmap
- include DCLL
- #----------------------------------------------------------------------------
- # • Verificar se o bitmap é válido.
- #----------------------------------------------------------------------------
- def valid_bitmap?(whats_bitmap=self)
- return false if whats_bitmap.nil? or whats_bitmap.disposed?
- return true
- end
- #----------------------------------------------------------------------------
- # • Mesma função do get_pixel. Só que em C++.
- #----------------------------------------------------------------------------
- def get_pixel(x, y)
- return unless valid_bitmap?
- BitmapGetPixelRGBA.call(__id__, x, y)
- end
- #----------------------------------------------------------------------------
- # • Pixalizar o objeto.
- # size : Tamanho geral ou sizex, sizey : Especificar tamanho.
- # pixelize(size) ou pixelize(sizex, sizey)
- #----------------------------------------------------------------------------
- def pixelize(*args)
- return unless valid_bitmap?
- size = args.size == 1 ? [args[0], args[0]] : args
- BitmapPixelize.call(__id__, size[0], size[1])
- end
- #----------------------------------------------------------------------------
- # • Efeito Wave(Efeito de onda no bitmap.)
- #----------------------------------------------------------------------------
- def ripple(other, amplitude, wavelenght, dir)
- return unless valid_bitmap? or valid_bitmap?(other)
- BitmapRipple.call(self.__id__, other.__id__, amplitude, wavelenght, dir)
- end
- #----------------------------------------------------------------------------
- # • Cortar o bitmap em relação ao outro.
- #----------------------------------------------------------------------------
- def split(other, x, y)
- return unless valid_bitmap? or valid_bitmap?(other)
- BitmapSplit.call(self.__id__, other.__id__, x, y)
- end
- #----------------------------------------------------------------------------
- # • Blend#blt
- #----------------------------------------------------------------------------
- def blend_blt(other_bitmap, x, y, srcx, srcy, width, height, blend, opacity)
- return unless valid_bitmap? or valid_bitmap?(other_bitmap)
- BitmapBlendBLT.call(self.__id__, other_bitmap.__id__, x, y, srcx, srcy,
- width, height, blend, opacity)
- end
- #----------------------------------------------------------------------------
- # • Transfer
- #----------------------------------------------------------------------------
- def transfer_blt(other_bitmap, x, y, srcx, srcy, width, height, transfer, opacity)
- return unless valid_bitmap? or valid_bitmap?(other_bitmap)
- BitmapTransferBLT.call(self.__id__, other_bitmap.__id__, x, y, srcx, srcy,
- width, height, transfer, opacity)
- end
- #----------------------------------------------------------------------------
- # • Inverter as cores do bitmap.
- #----------------------------------------------------------------------------
- def invert_rgba
- return unless valid_bitmap?
- BitmapRGBAInvert.call(self.__id__)
- end
- alias invert_rgba negative
- #----------------------------------------------------------------------------
- # • Converter as cores para cinza.
- #----------------------------------------------------------------------------
- def grayscale
- return unless valid_bitmap?
- BitmapToGrayscale.call(self.__id__)
- end
- #----------------------------------------------------------------------------
- # • [BitmapRGBABust] : Efeitos de cores livres. Você define.
- #----------------------------------------------------------------------------
- def rgbaBust(*args)
- return unless valid_bitmap?
- BitmapRGBABust.call(self.__id__, *args)
- end
- #----------------------------------------------------------------------------
- # • Efeito de escuridão vermelha no bitmap.
- #----------------------------------------------------------------------------
- def darkness_red
- rgbaBust(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.502)
- end
- #----------------------------------------------------------------------------
- # • Efeito de escuridão azul no bitmap.
- #----------------------------------------------------------------------------
- def darkness_blue
- rgbaBust(0.0, 0.0, 1.274, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
- end
- #----------------------------------------------------------------------------
- # • Efeito de escuridão verde no bitmap.
- #----------------------------------------------------------------------------
- def darkness_green
- rgbaBust(0.0, 0.0, 0.0, 0.0, 0.0, 1.311, 0.0, 0.0, 0.0)
- end
- #----------------------------------------------------------------------------
- # • Efeito de prateado-sketch.
- #----------------------------------------------------------------------------
- def silver_z
- rgbaBust(1.474, 1.940, 0.923, 1.892, 0.109, 0.860, 1.083, -0.086, 0.904)
- end
- #----------------------------------------------------------------------------
- # • Efeito roxo avermelhado.
- #----------------------------------------------------------------------------
- def pink_redness
- rgbaBust(1.664, -0.981, -0.433, -0.814, -0.916, -0.756, 1.093, 0.574, 1.953)
- end
- #----------------------------------------------------------------------------
- # • Efeito cor de cobre-clara.
- #----------------------------------------------------------------------------
- def copper_lightness
- rgbaBust(-0.650, -0.784, 1.440, 1.875, 0.386, -0.711, 1.291, 1.514, 0.293)
- end
- #----------------------------------------------------------------------------
- # • Efeito [rsh4]
- #----------------------------------------------------------------------------
- def rsh4
- rgbaBust(1.865, 0.875, 0.967, -0.899, 0.954, 1.269, 1.115, 1.633, -1.858)
- end
- #----------------------------------------------------------------------------
- # • Efeito de laranja mais escuro.
- #----------------------------------------------------------------------------
- def darkness_orange
- rgbaBust(0.712, -0.732, -0.965, -0.137, -0.345, 1.231, -1.883, 1.513, 1.967)
- end
- #----------------------------------------------------------------------------
- # • Efeito rsh1
- #----------------------------------------------------------------------------
- def rsh1
- rgbaBust(1.7144, 1.835, -0.821, 1.457, -1.579, 1.892, 1.461, 1.164, 0.112)
- end
- #----------------------------------------------------------------------------
- # • Efeito dá cor se parecer que está embaixo d'água.
- #----------------------------------------------------------------------------
- def color_water
- rgbaBust(0.421, 0.409, 1.342, 1.947, 0.515, -0.348, 0.055, 0.623, -0.906)
- end
- #----------------------------------------------------------------------------
- # • Efeito rsh3
- #----------------------------------------------------------------------------
- def rsh3
- rgbaBust(-0.214, 1.070, -0.652, -1.807, 1.493, 1.086, -0.501, 1.744, -0.526)
- end
- #----------------------------------------------------------------------------
- # • Efeito rsh5
- #----------------------------------------------------------------------------
- def rsh5
- rgbaBust(1.483, -0.677, -0.826, 0.502, 1.773, -0.707, 1.147, -0.902, 0.227)
- end
- #----------------------------------------------------------------------------
- # • Efeito rsh0
- #----------------------------------------------------------------------------
- def rsh0
- rgbaBust(-1.060, 0.447, 0.643, 0.978, 0.517, 1.407, -0.876, 0.069, 1.943)
- end
- #----------------------------------------------------------------------------
- # • Método de saturação.
- # amount : Quantidade. 0.0 minímo : 255.0 máximo.
- #----------------------------------------------------------------------------
- def saturation(amount=0.0)
- return unless valid_bitmap?
- BitmapColorSaturation.call(self.__id__, (amount <= 0.0 ? amount = 0.0 : amount >= 255.0 ? amount = 255.0 : amount) * 1000)
- end
- #----------------------------------------------------------------------------
- # • Método de brilho.
- # amount : Quantidade.
- #----------------------------------------------------------------------------
- def brightness(amount=0)
- return unless valid_bitmap?
- BitmapColorBrightness.call(self.__id__, amount)
- end
- #----------------------------------------------------------------------------
- # • Método de contraste.
- # amount : Quantidade.
- #----------------------------------------------------------------------------
- def contrast(amount=0)
- return unless valid_bitmap?
- BitmapColorContrast.call(self.__id__, amount)
- end
- #----------------------------------------------------------------------------
- # • Filtro 33.
- #----------------------------------------------------------------------------
- def filter33(*args)
- return unless valid_bitmap?
- BitmapFilter33.call(self.__id__, *args)
- end
- #----------------------------------------------------------------------------
- # • Filtro 34.
- #----------------------------------------------------------------------------
- def filter34(*args)
- return unless valid_bitmap?
- BitmapFilter34.call(self.__id__, *args)
- end
- #----------------------------------------------------------------------------
- # • Filtro 33 : Efeito de blur.
- #----------------------------------------------------------------------------
- def blur
- filter33(0,1,0,1,1,1,0,1,0,5)
- end
- #----------------------------------------------------------------------------
- # • Filtro 33 : Efeito de blur mais intenso.
- #----------------------------------------------------------------------------
- def blur!
- filter33(1,1,1,1,1,1,1,1,1,9)
- end
- #----------------------------------------------------------------------------
- # • Filtro 33 : Sharpen
- #----------------------------------------------------------------------------
- def sharpen
- filter33(0,-1,0,-1,5,-1,0,-1,0,1)
- end
- #----------------------------------------------------------------------------
- # • Filtro 33 : Sharpen mais intenso.
- #----------------------------------------------------------------------------
- def sharpen!
- filter33(-1,-1,-1,-1,9,-1,-1,-1,-1,1)
- end
- #----------------------------------------------------------------------------
- # • Filtro 33 : Detectar as bordas.
- #----------------------------------------------------------------------------
- def detect_edges
- filter33(0,-1,0,-1,4,-1,0,-1,0,1)
- end
- #----------------------------------------------------------------------------
- # • Filtro 33 : Efeito emboss("modelar")
- #----------------------------------------------------------------------------
- def emboss
- filter33(-2,-1,0,-1,1,1,0,1,2,1)
- end
- #----------------------------------------------------------------------------
- # • Monochrome : Converte as cores em uma escala só.
- #----------------------------------------------------------------------------
- def monochrome
- return unless valid_bitmap?
- BitmapMonochrome.call(self.__id__)
- end
- #----------------------------------------------------------------------------
- # • Colorize : Colorir o bitmap.
- #----------------------------------------------------------------------------
- def colorize(amount, red, green, blue)
- return unless valid_bitmap?
- BitmapColorize.call(self.__id__, amount, red, green, blue)
- end
- #----------------------------------------------------------------------------
- # • Tint : Preencher bitmap.
- #----------------------------------------------------------------------------
- def tint(amount, red, green, blue)
- return unless valid_bitmap?
- BitmapTint.call(self.__id__, amount, red, green, blue)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement