#NEWLINE# def _handle_BinaryExpression( self , expression , command , x , y ) : #NEWLINE# #INDENT# first_height = self . _visit ( expression . first , 0 , 0 ) [ 1 ] #NEWLINE# second_height = self . _visit ( expression . second , 0 , 0 ) [ 1 ] #NEWLINE# line_height = max ( first_height , second_height ) #NEWLINE# centred_string_top = self . _get_centered_top ( y , line_height , self . _get_text_height ( ) ) #NEWLINE# right = command ( DrtTokens . OPEN , x , centred_string_top ) [ 0 ] #NEWLINE# first_height = expression . first . _drawing_height #NEWLINE# ( right , first_bottom ) = self . _handle ( expression . first , command , right , self . _get_centered_top ( y , line_height , first_height ) ) #NEWLINE# right = command ( ( ' %s ' % expression . getOp ( ) ) , right , centred_string_top ) [ 0 ] #NEWLINE# second_height = expression . second . _drawing_height #NEWLINE# ( right , second_bottom ) = self . _handle ( expression . second , command , right , self . _get_centered_top ( y , centred_string_top , second_height ) ) #NEWLINE# right = command ( DrtTokens . CLOSE , right , centred_string_top ) [ 0 ] #NEWLINE# return ( right , max ( first_bottom , second_bottom ) )