# Path: androguard/gui/TextDecorators.py
# class RangePen(PageDecorator):
#     def __init__(self, decorated, a, b, pen, ignoreHighlights=True):
#         super().__init__(decorated)
# 
#         self.dataModel = decorated.getDataModel()
#         self.decorated = decorated
#         self.a = a
#         self.b = b
#         self.pen = pen
#         self.already = False
#         self.ignoreHighlights = ignoreHighlights
# 
#     def decorate(self, pageOffset=None):
#         self.page = self.decorated.decorate(pageOffset)
#         self.PenInterval = self.decorated.PenInterval
#         self.brushMap = self.decorated.brushMap
#         self.penMap = self.decorated.penMap
# 
#         if not self.already:
#             self.addPenInterval(self.a, self.b, self.ignoreHighlights, self.pen)
#             self.already = True
# 
#         return self.page
# 
# Path: androguard/gui/cemu.py
# class Cursor:
# class ConsoleEmulator:
#     def __init__(self, x, y):
#     def move(self, dx, dy):
#     def moveAbsolute(self, x, y):
#     def getPosition(self):
# def enum(**enums):
#     def __init__(self, qp, rows, cols):
#     def incrementPosition(self):
#     def newLine(self):
#     def LF(self):
#     def CR(self):
#     def _validatePosition(self, x, y):
#     def write(self, s, noBackgroudOnSpaces=False):
#     def write_c(self, c, noBackgroudOnSpaces=False):
#     def getXY(self):
#     def writeAt(self, x, y, s, noBackgroudOnSpaces=False):
#     def writeAt_c(self, x, y, c, noBackgroudOnSpaces=False):
#     def writeLn(self):
#     def gotoXY(self, x, y):


import string
import logging
from time import time
from PyQt5 import QtGui, QtCore
from androguard.gui.TextDecorators import RangePen
from androguard.gui.ViewMode import ViewMode
from androguard.gui.cemu import ConsoleEmulator, Directions
from androguard.gui import TextSelection
        self.notify(self.ROWS, self.COLUMNS)

    def drawAdditionals(self):
        self.newPix = self._getNewPixmap(self.width, self.height + self.SPACER)
        qp = QtGui.QPainter()
        qp.begin(self.newPix)
        qp.drawPixmap(0, 0, self.qpix)

        # self.transformationEngine.decorateText()

        # highlight selected text
        self.selector.highlightText()

        # draw other selections
        self.selector.drawSelections(qp)

        # draw our cursor
        self.drawCursor(qp)
        qp.end()

    def getPageOffset(self):
        return self.dataModel.getOffset()

    def getGeometry(self):
        return self.COLUMNS, self.ROWS

    def getColumnsbyRow(self, row):
        return self.COLUMNS

    def getDataModel(self):

# Path: androguard/gui/TextDecorators.py
# class RangePen(PageDecorator):
#     def __init__(self, decorated, a, b, pen, ignoreHighlights=True):
#         super().__init__(decorated)
# 
#         self.dataModel = decorated.getDataModel()
#         self.decorated = decorated
#         self.a = a
#         self.b = b
#         self.pen = pen
#         self.already = False
#         self.ignoreHighlights = ignoreHighlights
# 
#     def decorate(self, pageOffset=None):
#         self.page = self.decorated.decorate(pageOffset)
#         self.PenInterval = self.decorated.PenInterval
#         self.brushMap = self.decorated.brushMap
#         self.penMap = self.decorated.penMap
# 
#         if not self.already:
#             self.addPenInterval(self.a, self.b, self.ignoreHighlights, self.pen)
#             self.already = True
# 
#         return self.page
# 
# Path: androguard/gui/cemu.py
# class Cursor:
# class ConsoleEmulator:
#     def __init__(self, x, y):
#     def move(self, dx, dy):
#     def moveAbsolute(self, x, y):
#     def getPosition(self):
# def enum(**enums):
#     def __init__(self, qp, rows, cols):
#     def incrementPosition(self):
#     def newLine(self):
#     def LF(self):
#     def CR(self):
#     def _validatePosition(self, x, y):
#     def write(self, s, noBackgroudOnSpaces=False):
#     def write_c(self, c, noBackgroudOnSpaces=False):
#     def getXY(self):
#     def writeAt(self, x, y, s, noBackgroudOnSpaces=False):
#     def writeAt_c(self, x, y, c, noBackgroudOnSpaces=False):
#     def writeLn(self):
#     def gotoXY(self, x, y):


# Path: androguard/gui/BinViewMode.py
import string
import logging
from time import time
from PyQt5 import QtGui, QtCore
from androguard.gui.TextDecorators import RangePen
from androguard.gui.ViewMode import ViewMode
from androguard.gui.cemu import ConsoleEmulator, Directions
from androguard.gui import TextSelection

        self.notify(self.ROWS, self.COLUMNS)

    def drawAdditionals(self):
        self.newPix = self._getNewPixmap(self.width, self.height + self.SPACER)
        qp = QtGui.QPainter()
        qp.begin(self.newPix)
        qp.drawPixmap(0, 0, self.qpix)

        # self.transformationEngine.decorateText()

        # highlight selected text
        self.selector.highlightText()

        # draw other selections
        self.selector.drawSelections(qp)

        # draw our cursor
        self.drawCursor(qp)
        qp.end()

    def getPageOffset(self):
        return self.dataModel.getOffset()

    def getGeometry(self):
        return self.COLUMNS, self.ROWS

    def getColumnsbyRow(self, row):
        return self.COLUMNS

    def getDataModel(self):

        return self.dataModel